MIPS: Trace: Don't trace irqsoff for the idle process

Like x86 did in arch/x86/kernel/{process_32.c,process_64.c}, also don't
trace irqsoff for idle.

If there's no useful work to be done, we don't care about the irqsoff
duration. If we trace the idle process, the max duration of irqsoff will
be the idle time and make the irqsoff tracer useless.

Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Patchwork: http://patchwork.linux-mips.org/patch/1044/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Wu Zhangjin 2010-03-10 00:27:28 +08:00 committed by Ralf Baechle
parent abe5b417fb
commit 7a7ac952d5
1 changed files with 6 additions and 1 deletions

View File

@ -63,8 +63,13 @@ void __noreturn cpu_idle(void)
smtc_idle_loop_hook(); smtc_idle_loop_hook();
#endif #endif
if (cpu_wait)
if (cpu_wait) {
/* Don't trace irqs off for idle */
stop_critical_timings();
(*cpu_wait)(); (*cpu_wait)();
start_critical_timings();
}
} }
#ifdef CONFIG_HOTPLUG_CPU #ifdef CONFIG_HOTPLUG_CPU
if (!cpu_online(cpu) && !cpu_isset(cpu, cpu_callin_map) && if (!cpu_online(cpu) && !cpu_isset(cpu, cpu_callin_map) &&