Skip clock calibration if cpu being brought online is exactly the same
speed, stepping, etc., as the previous cpu. This significantly reduces
the time to boot very large systems.
Signed-off-by: Jack Steiner <[EMAIL PROTECTED]>
Index: linux/arch/ia64/kernel/smpboot.c
===================================================================
--- linux.orig/arch/ia64/kernel/smpboot.c 2007-03-26 15:04:29.322256475
-0500
+++ linux/arch/ia64/kernel/smpboot.c 2007-03-27 08:26:41.914042190 -0500
@@ -424,7 +424,19 @@ smp_callin (void)
* Get our bogomips.
*/
ia64_init_itm();
- calibrate_delay();
+
+ /*
+ * Delay calibration can be skipped if new processor is identical to the
+ * previous processor.
+ */
+ if (local_cpu_data->itc_freq != per_cpu(cpu_info, cpuid - 1).itc_freq ||
+ local_cpu_data->proc_freq != per_cpu(cpu_info, cpuid -
1).proc_freq ||
+ local_cpu_data->features != per_cpu(cpu_info, cpuid -
1).features ||
+ local_cpu_data->revision != per_cpu(cpu_info, cpuid -
1).revision ||
+ local_cpu_data->family != per_cpu(cpu_info, cpuid -
1).family ||
+ local_cpu_data->archrev != per_cpu(cpu_info, cpuid -
1).archrev ||
+ local_cpu_data->model != per_cpu(cpu_info, cpuid -
1).model)
+ calibrate_delay();
local_cpu_data->loops_per_jiffy = loops_per_jiffy;
#ifdef CONFIG_IA32_SUPPORT
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html