patch-2.3.99-pre7 linux/arch/i386/kernel/apic.c

Next file: linux/arch/i386/kernel/pci-i386.c
Previous file: linux/arch/i386/kernel/acpi.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.99-pre6/linux/arch/i386/kernel/apic.c linux/arch/i386/kernel/apic.c
@@ -615,6 +615,7 @@
 
 inline void smp_local_timer_interrupt(struct pt_regs * regs)
 {
+	int user = user_mode(regs);
 	int cpu = smp_processor_id();
 
 	/*
@@ -623,6 +624,8 @@
 	 * updated with atomic operations). This is especially
 	 * useful with a profiling multiplier != 1
 	 */
+	if (!user)
+		x86_do_profile(regs->eip);
 
 	if (--prof_counter[cpu] <= 0) {
 		/*
@@ -640,7 +643,7 @@
 		}
 
 #ifdef CONFIG_SMP
-		handle_smp_time(user_mode(regs), cpu);
+		handle_smp_time(user, cpu);
 #endif
 	}
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)