patch-2.1.37 linux/arch/i386/kernel/time.c

Next file: linux/arch/i386/kernel/trampoline.S
Previous file: linux/arch/i386/kernel/smp.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.36/linux/arch/i386/kernel/time.c linux/arch/i386/kernel/time.c
@@ -23,6 +23,7 @@
 #include <linux/time.h>
 #include <linux/delay.h>
 #include <linux/init.h>
+#include <linux/smp.h>
 
 #include <asm/uaccess.h>
 #include <asm/io.h>
@@ -379,11 +380,15 @@
 	do_timer(regs);
 /*
  * In the SMP case we use the local APIC timer interrupt to do the
- * profiling.
+ * profiling, except when we simulate SMP mode on a uniprocessor
+ * system, in that case we have to call the local interrupt handler.
  */
 #ifndef __SMP__
 	if (!user_mode(regs))
 		x86_do_profile(regs->eip);
+#else
+	if (!smp_found_config)
+		smp_local_timer_interrupt(regs);
 #endif
 
 	/*

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov