aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2008-11-14 16:21:19 -0800
committerSteven Rostedt <srostedt@redhat.com>2008-11-20 10:51:15 -0800
commit6d07bb47354174a9b52d3b03f9e38b069a93d341 (patch)
tree90a3842276fceaee61067c2791eb63a457ad0fc3
parentee2f6cc7f9ea2542ad46070ed62ba7aa04d08871 (diff)
powerpc: ftrace, do not latency trace idle
Impact: fix for irq off latency tracer When idle is called, interrupts are disabled, but the idle function will still wake up on an interrupt. The problem is that the interrupt disabled latency tracer will take this call to idle as a latency. This patch disables the latency tracing when going into idle. Signed-off-by: Steven Rostedt <srostedt@redhat.com>
-rw-r--r--arch/powerpc/kernel/idle.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c
index 31982d05d81..88d9c1d5e5f 100644
--- a/arch/powerpc/kernel/idle.c
+++ b/arch/powerpc/kernel/idle.c
@@ -69,10 +69,15 @@ void cpu_idle(void)
smp_mb();
local_irq_disable();
+ /* Don't trace irqs off for idle */
+ stop_critical_timings();
+
/* check again after disabling irqs */
if (!need_resched() && !cpu_should_die())
ppc_md.power_save();
+ start_critical_timings();
+
local_irq_enable();
set_thread_flag(TIF_POLLING_NRFLAG);