summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2005-09-12 18:49:24 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-12 19:49:55 +0200
commitb4452218c4b7a579056d439b73a668b71654c137 (patch)
treea83d03b2bfc5a33a2f89a3d6b677b764ea3ac183
parent[PATCH] x86-64: Use largest APIC number, not number of CPUs to decide on phys... (diff)
downloadlinux-b4452218c4b7a579056d439b73a668b71654c137.tar.xz
linux-b4452218c4b7a579056d439b73a668b71654c137.zip
[PATCH] x86-64: Enable interrupts during delay calibration on APs
We used to disable them to work around a bug, but that is not needed anymore. Keeping them enabled avoids the NMI watchdog triggering in some cases. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/x86_64/kernel/smpboot.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c
index 4efe36fe99aa..277ce5e91e04 100644
--- a/arch/x86_64/kernel/smpboot.c
+++ b/arch/x86_64/kernel/smpboot.c
@@ -413,8 +413,13 @@ void __cpuinit smp_callin(void)
/*
* Get our bogomips.
+ *
+ * Need to enable IRQs because it can take longer and then
+ * the NMI watchdog might kill us.
*/
+ local_irq_enable();
calibrate_delay();
+ local_irq_disable();
Dprintk("Stack at about %p\n",&cpuid);
disable_APIC_timer();