x86: Reduce clock calibration time during slave cpu startup
authorJack Steiner <steiner@sgi.com>
Tue, 15 Nov 2011 23:33:56 +0000 (15:33 -0800)
committerIngo Molnar <mingo@elte.hu>
Mon, 5 Dec 2011 16:12:43 +0000 (17:12 +0100)
commitb565201cf75210614903ef2ae5917b4379681647
tree6d28d33cf25a4fa47700b12d8e291886e1af195f
parent1ea7c6737c8f68453f55c894b3d07d7f48fcbef8
x86: Reduce clock calibration time during slave cpu startup

Reduce the startup time for slave cpus.

Adds hooks for an arch-specific function for clock calibration.
These hooks are used on x86.  If a newly started cpu has the
same phys_proc_id as a core already active, uses the TSC for the
delay loop and has a CONSTANT_TSC, use the already-calculated
value of loops_per_jiffy.

This patch reduces the time required to start slave cpus on a
4096 cpu system from: 465 sec OLD 62 sec NEW

This reduces boot time on a 4096p system by almost 7 minutes.
Nice...

Signed-off-by: Jack Steiner <steiner@sgi.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: John Stultz <john.stultz@linaro.org>
[fix CONFIG_SMP=n build]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/smpboot.c
arch/x86/kernel/tsc.c
init/calibrate.c