[PATCH] ARM: call disable_nonboot_cpus() from machine_shutdown()
Stephen Warren
swarren at wwwdotorg.org
Thu Jan 3 15:26:15 EST 2013
On 01/03/2013 05:21 AM, Russell King - ARM Linux wrote:
> On Thu, Jan 03, 2013 at 12:02:59PM +0000, Will Deacon wrote:
>> You need the smp_send_stop call in order to send the cpu_kill (looks like
>> tegra needs die and then kill). So you really need hotplug support as well
>> as suspend for this to do much (if not, the secondaries end up spinning
>> with interrupts disabled which is probably the best we can do anyway).
>>
>> We could add SUSPEND as a KEXEC dependency if SMP (we already have HOTPLUG
>> there) if you like?
>
> Or we could look into bringing in the code to do this when KEXEC is
> enabled - which would mean an amount of restructuring of the Kconfig
> files.
I'm not sure if any of this thread means we should hold off on this
patch, or just that the Kconfig could/should be enhanced later?
One thing I did just notice with my patch: disable_nonboot_cpus() ends
up being called twice for the poweroff path:
[ 30.461847] Disabling non-boot CPUs ...
[ 30.478797] CPU1: shutdown
[ 30.492104] Power down.
[ 30.494578] Disabling non-boot CPUs ...
Is this worth worrying about?
It's because kernel_power_off() calls disable_nonboot_cpus() then
machine_shutdown() which also calls disable_nonboot_cpus().
More information about the kexec
mailing list