sh: do not latency trace idle.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 26 Nov 2008 06:22:50 +0000 (15:22 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 22 Dec 2008 09:43:49 +0000 (18:43 +0900)
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>
arch/sh/kernel/process_32.c

index 908731c..e781540 100644 (file)
@@ -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