[profile]: [18/23] i386 profiling cleanups

From: William Lee Irwin III
Date: Tue Jun 22 2004 - 11:42:26 EST


Convert i386 to use profiling_on() and profile_tick().

Index: prof-2.6.7/include/asm-i386/hw_irq.h
===================================================================
--- prof-2.6.7.orig/include/asm-i386/hw_irq.h 2004-06-15 22:20:25.000000000 -0700
+++ prof-2.6.7/include/asm-i386/hw_irq.h 2004-06-22 07:25:58.418282240 -0700
@@ -16,7 +16,6 @@
#include <linux/profile.h>
#include <asm/atomic.h>
#include <asm/irq.h>
-#include <asm/sections.h>

/*
* Various low-level irq details needed by irq.c, process.c,
@@ -76,36 +75,15 @@
*/
static inline void x86_do_profile(struct pt_regs * regs)
{
- unsigned long eip;
extern unsigned long prof_cpu_mask;

- profile_hook(regs);
-
- if (user_mode(regs))
- return;
-
- if (!prof_buffer)
- return;
-
- eip = regs->eip;
-
/*
* Only measure the CPUs specified by /proc/irq/prof_cpu_mask.
* (default is all CPUs.)
*/
- if (!((1<<smp_processor_id()) & prof_cpu_mask))
- return;
-
- eip -= (unsigned long)_stext;
- eip >>= prof_shift;
- /*
- * Don't ignore out-of-bounds EIP values silently,
- * put them into the last histogram slot, so if
- * present, they will show up as a sharp peak.
- */
- if (eip > prof_len-1)
- eip = prof_len-1;
- atomic_inc((atomic_t *)&prof_buffer[eip]);
+ profile_hook(regs);
+ if (!user_mode(regs) && ((1<<smp_processor_id()) & prof_cpu_mask))
+ profile_tick(regs->eip);
}

#if defined(CONFIG_X86_IO_APIC)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/