Thread (17 messages) 17 messages, 4 authors, 2014-09-29

[PATCH 1/3] arm: ls1: add CPU hotplug platform support

From: Li Yang <hidden>
Date: 2014-09-28 10:57:22
Also in: linux-pm, lkml

On Fri, Sep 26, 2014 at 9:20 PM, Mark Rutland [off-list ref] wrote:
quoted
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.
I agree that the pseudo-hotplug is breaking the kexec.  However, I
don't think it breaks the system suspend case as tasks and interrupts
have been moved out of the non-booting CPU.  The pseudo-hotplug would
be even better than real hotplug as it introduces less latency.

Regards,
Leo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help