without this the idle routine still gets traced.. This is done already
for ACPI idle , but it should also be done for other idle routines.

Signed-off-by: Daniel Walker <[EMAIL PROTECTED]>
 
---
 arch/i386/kernel/process.c   |    9 +++++++++
 arch/x86_64/kernel/process.c |   10 ++++++++++
 2 files changed, 19 insertions(+)

Index: linux-2.6.22/arch/i386/kernel/process.c
===================================================================
--- linux-2.6.22.orig/arch/i386/kernel/process.c
+++ linux-2.6.22/arch/i386/kernel/process.c
@@ -197,8 +197,17 @@ void cpu_idle(void)
                        if (cpu_is_offline(cpu))
                                play_dead();
 
+                       /*
+                        * We have irqs disabled here, so stop latency tracing
+                        * at this point and restart it after we return:
+                        */
+                       stop_critical_timing();
+
                        __get_cpu_var(irq_stat).idle_timestamp = jiffies;
                        idle();
+
+                       touch_critical_timing();
+
                }
                local_irq_disable();
                trace_preempt_exit_idle();
Index: linux-2.6.22/arch/x86_64/kernel/process.c
===================================================================
--- linux-2.6.22.orig/arch/x86_64/kernel/process.c
+++ linux-2.6.22/arch/x86_64/kernel/process.c
@@ -223,8 +223,18 @@ void cpu_idle (void)
                         * Otherwise, idle callbacks can misfire.
                         */
                        local_irq_disable();
+
+                       /*
+                        * We have irqs disabled here, so stop latency tracing
+                        * at this point and restart it after we return:
+                        */
+                       stop_critical_timing();
+
                        enter_idle();
                        idle();
+
+                       touch_critical_timing();
+
                        /* In many cases the interrupt that ended idle
                           has already called exit_idle. But some idle
                           loops can be woken up without interrupt. */

-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to