]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit6e54b772d957e248e065851047a3a1c9054860a4
treeafcc5d2325bd494c484b828914517680ac7d3316
parent186f6599ed5cde61c9827a5391f6e95cc77b81bf
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