]> 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)
commit8e8a41d88696630a670e41e3cd6afd5b8bb1252b
treeafcc5d2325bd494c484b828914517680ac7d3316
parentd4b7198c826c2623452ec881d49138c5c732e01c
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