sched/rt: Prevent idle task boosting
authorThomas Gleixner <tglx@linutronix.de>
Mon, 6 Jun 2011 18:07:38 +0000 (20:07 +0200)
committerIngo Molnar <mingo@elte.hu>
Thu, 1 Mar 2012 09:28:05 +0000 (10:28 +0100)
commit1c4dd99bed5f6f70932bf8dacdd54d04a2619778
tree24b6db83e0507598e255de9e5b410a8300ab7572
parent63b2001169e75cd71e917ec953fdab572e3f944a
sched/rt: Prevent idle task boosting

Idle task boosting is a nono in general. There is one
exception, when PREEMPT_RT and NOHZ is active:

The idle task calls get_next_timer_interrupt() and holds
the timer wheel base->lock on the CPU and another CPU wants
to access the timer (probably to cancel it). We can safely
ignore the boosting request, as the idle CPU runs this code
with interrupts disabled and will complete the lock
protected section without being interrupted. So there is no
real need to boost.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-755rvsosz7sdzot12a3gbha6@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched/core.c