On Wed, Dec 21, 2011 at 05:59:07PM +0800, Barry Song wrote:
2011/12/21 Russell King - ARM Linux linux@arm.linux.org.uk:
cpu hotplug is basically totally buggered - the preconditions placed upon the bringup code path are basically impossible to satisfy in any shape or form at the moment.
There's the requirement that the secondary CPU is marked online and active before interrupts are enabled for the thread migration stuff to behave correctly. However, this is incompatible with smp_call_function() which will wait for online CPUs to respond to an IPI - which this one won't because interrupts are disabled.
I think there was some discussion about how to fix this but I don't recall the details.
thanks, Russell. then could i think this is an ARM-kernel-specific bug which exists on all ARM SMP chips for the moment? and that bug doesn't happen on x86:
I don't think so. There's nothing ARM specific about it.