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

Reply via email to