Messages in this thread | | | Date | Wed, 10 Apr 2013 08:10:05 -0700 | Subject | Re: [PATCH] Do not force shutdown/reboot to boot cpu. | From | Linus Torvalds <> |
| |
On Wed, Apr 10, 2013 at 4:16 AM, Ingo Molnar <mingo@kernel.org> wrote: > > I think rebooting on the same CPU where we booted up is something worth having in > general, as a firmware robustness feature. (assuming the CPU in question is still > online)
Yeah, we've had issues with ACPI in the past, so I do think we should always reboot using the BP. Even if it almost certainly works on 99+% of all machines on any random CPU.
The optimal solution would be to just speed up the disable_nonboot_cpus() code so much that it isn't an issue. That would be good for suspending too, although I guess suspend isn't a big issue if you have a thousand CPU's.
Has anybody checked whether we could do the cpu_down() on non-boot CPU's in parallel? Right now we serialize the thing completely, with one single
for_each_online_cpu(cpu) { ...
loop that does a synchrinous _cpu_down() for each CPU. No wonder it takes forever. We do __stop_machine() over and over and over again: the whole thing is basically O(n**2) in CPU's.
Linus
| |