On Thu, Jan 03, 2013 at 08:26:15PM +0000, Stephen Warren wrote: > 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? Well, Russell's suggestion looked easy enough to have a crack out so you could always post a series implementing it along with this patch. > 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 harmless but it's also pretty horrible. Unfortunately, I don't see what we can do about it: it's a direct side-effect of generic code calling disable_nonboot_cpus for poweroff and not for kexec. Will