summaryrefslogtreecommitdiffstats
path: root/kernel/range.c
diff options
context:
space:
mode:
authorRobin Holt <holt@sgi.com>2013-06-12 23:04:37 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2013-06-13 01:29:44 +0200
commitcf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db (patch)
treec9d93d55f6ff87eb47621d2c47d9ca2bff5f3a9a /kernel/range.c
parentCPU hotplug: provide a generic helper to disable/enable CPU hotplug (diff)
downloadlinux-cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db.tar.xz
linux-cf7df378aa4ff7da3a44769b7ff6e9eef1a9f3db.zip
reboot: rigrate shutdown/reboot to boot cpu
We recently noticed that reboot of a 1024 cpu machine takes approx 16 minutes of just stopping the cpus. The slowdown was tracked to commit f96972f2dc63 ("kernel/sys.c: call disable_nonboot_cpus() in kernel_restart()"). The current implementation does all the work of hot removing the cpus before halting the system. We are switching to just migrating to the boot cpu and then continuing with shutdown/reboot. This also has the effect of not breaking x86's command line parameter for specifying the reboot cpu. Note, this code was shamelessly copied from arch/x86/kernel/reboot.c with bits removed pertaining to the reboot_cpu command line parameter. Signed-off-by: Robin Holt <holt@sgi.com> Tested-by: Shawn Guo <shawn.guo@linaro.org> Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: Russ Anderson <rja@sgi.com> Cc: Robin Holt <holt@sgi.com> Cc: Russell King <linux@arm.linux.org.uk> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/range.c')
0 files changed, 0 insertions, 0 deletions