Hi!
Profiling didn't work in the last few kernels on my x86 based SMP
machine. Trivial fix below.
Enjoy!
Index: 9906.6/arch/i386/kernel/apic.c
--- 9906.6/arch/i386/kernel/apic.c Thu, 27 Apr 2000 22:11:43 +0200 zcalusic (linux/D/c/46_apic.c 1.2.2.1 644)
+++ 9906.7/arch/i386/kernel/apic.c Mon, 08 May 2000 02:45:20 +0200 zcalusic (linux/D/c/46_apic.c 1.2.2.2 644)
@@ -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
}
-- Zlatko- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:11 EST