瀏覽代碼

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>
Steven Rostedt 16 年之前
父節點
當前提交
6d07bb4735
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      arch/powerpc/kernel/idle.c

+ 5 - 0
arch/powerpc/kernel/idle.c

@@ -69,10 +69,15 @@ void cpu_idle(void)
 				smp_mb();
 				smp_mb();
 				local_irq_disable();
 				local_irq_disable();
 
 
+				/* Don't trace irqs off for idle */
+				stop_critical_timings();
+
 				/* check again after disabling irqs */
 				/* check again after disabling irqs */
 				if (!need_resched() && !cpu_should_die())
 				if (!need_resched() && !cpu_should_die())
 					ppc_md.power_save();
 					ppc_md.power_save();
 
 
+				start_critical_timings();
+
 				local_irq_enable();
 				local_irq_enable();
 				set_thread_flag(TIF_POLLING_NRFLAG);
 				set_thread_flag(TIF_POLLING_NRFLAG);