This little patch stops idle loop from showing up in the Alpha kernel
profiler output.
Larry Woodman
http://www.missioncriticallinux.com
diff -u --recursive linux-2.3.99-pre3.vanilla/arch/alpha/kernel/irq_impl.h
linux-2.3.99-pre3.clock/arch/alpha/kernel/irq_impl.h
--- linux-2.3.99-pre3.vanilla/arch/alpha/kernel/irq_impl.h Sun Feb 27 16:28:01
2000
+++ linux-2.3.99-pre3.clock/arch/alpha/kernel/irq_impl.h Sat Apr 25 11:57:18
+2020
@@ -37,6 +37,8 @@
extern void i8259a_end_irq(unsigned int);
extern struct hw_interrupt_type i8259a_irq_type;
extern void init_i8259a_irqs(void);
+extern void cpu_idle(void);
+extern void cpu_idle_end(void);
extern void handle_irq(int irq, struct pt_regs * regs);
@@ -49,6 +51,10 @@
if (!prof_buffer)
return;
+
+ if ((pc>(unsigned long)&cpu_idle) && (pc<(unsigned long)&cpu_idle_end))
+ return;
+
/*
* Only measure the CPUs specified by /proc/irq/prof_cpu_mask.
diff -u --recursive linux-2.3.99-pre3.vanilla/arch/alpha/kernel/process.c
linux-2.3.99-pre3.clock/arch/alpha/kernel/process.c
--- linux-2.3.99-pre3.vanilla/arch/alpha/kernel/process.c Tue Mar 21 13:47:06
2000
+++ linux-2.3.99-pre3.clock/arch/alpha/kernel/process.c Sat Apr 25 11:55:17 2020
@@ -90,6 +90,10 @@
}
}
+void
+cpu_idle_end(void)
+{
+}
struct halt_info {
int mode;