sched, tracing: Stop/start critical timings around the idle=poll idle loop
authorDaniel Bristot de Oliveira <bristot@redhat.com>
Thu, 8 Oct 2015 18:36:06 +0000 (15:36 -0300)
committerIngo Molnar <mingo@kernel.org>
Mon, 12 Oct 2015 07:45:25 +0000 (09:45 +0200)
commit9babcd7929bc8967ae3bb6093f603b93c2f9958f
treeafcc5d2325bd494c484b828914517680ac7d3316
parent25cb62b76430a91cc6195f902e61c2cb84ade622
sched, tracing: Stop/start critical timings around the idle=poll idle loop

When using idle=poll, the preemptoff tracer is always showing
the idle task as the culprit for long latencies. That happens
because critical timings are not stopped before idle loop. This
patch stops critical timings before entering the idle loop,
starting it again after the idle loop.

This problem does not affect the irqsoff tracer because
interruptions are enabled before entering the idle loop.

Signed-off-by: Daniel Bristot de Oliveira <bristot@redhat.com>
Reviewed-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/10fc3705874aef11dbe152a068b591a7be1899b4.1444314899.git.bristot@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/idle.c