[PATCH 1/3] arm: ls1: add CPU hotplug platform support
From: mark.rutland@arm.com (Mark Rutland)
Date: 2014-09-26 13:22:38
Also in:
lkml
From: mark.rutland@arm.com (Mark Rutland)
Date: 2014-09-26 13:22:38
Also in:
lkml
quoted
This looks to be a carbon copy of the vexpress pseudo-hotplug in arch/arm/mach-vexpress/hotplug.c, which is obviously broken in the way you describe above. Perhaps we should go about ripping that out?The Versatile Express does not support suspend so the only problem case is kexec. However, isn't this support needed for big.LITTLE, and as the Versatile Express is the platform which these features get developed on, having working CPU hotplug seems rather fundamental for ARM kernel feature development. In that regard, Versatile Express is something of a special case.
It is admittedly helpful during development to perform pseudo-hotplug on Versatile Express. I have a local patch adding vexpress_cpu_disable so I can test for bugs that only trigger if CPU0 is hotplugged. Given that, perhaps we should make it clearer that Versatile Express is not a reference implementation for CPU hotplug; add some Kconfig (e.g. VEXPRESS_PSEUDO_HOTPLUG) that depends on !KEXEC && !SUSPEND, and putting a note in hotplug.c stating it's not suitable as a reference implementation. ...but perhaps that's overkill. Mark.