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;

Reply via email to