summaryrefslogtreecommitdiff
path: root/arch/sh/kernel/process_32.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2008-11-26 06:22:50 (GMT)
committerPaul Mundt <lethal@linux-sh.org>2008-12-22 09:43:49 (GMT)
commitf74c034d52d0f908d5b929423a680962a2586199 (patch)
tree0448aa785f65a89882edd2e9e4fc697de8388e68 /arch/sh/kernel/process_32.c
parent75fd24c1073adcd1e8ea43048d946bbfa34dfc64 (diff)
downloadlinux-fsl-qoriq-f74c034d52d0f908d5b929423a680962a2586199.tar.xz
sh: do not latency trace idle.
Description snipped from Steven Rostedt's PPC patch: When idle is called, interrupts are blocked, 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: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/process_32.c')
-rw-r--r--arch/sh/kernel/process_32.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c
index 908731c..e781540 100644
--- a/arch/sh/kernel/process_32.c
+++ b/arch/sh/kernel/process_32.c
@@ -59,8 +59,12 @@ static void default_idle(void)
clear_thread_flag(TIF_POLLING_NRFLAG);
smp_mb__after_clear_bit();
set_bl_bit();
+ stop_critical_timings();
+
while (!need_resched())
cpu_sleep();
+
+ start_critical_timings();
clear_bl_bit();
set_thread_flag(TIF_POLLING_NRFLAG);
} else