]> git.baikalelectronics.ru Git - kernel.git/commit
sched: Kick full dynticks CPU that have more than one task enqueued.
authorFrederic Weisbecker <fweisbec@gmail.com>
Sat, 20 Apr 2013 12:35:09 +0000 (14:35 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Mon, 22 Apr 2013 18:06:54 +0000 (20:06 +0200)
commitdaf0bda1005c1a4a3fdcd014f03b3fb9f3e7bc78
tree23906ee91599b6b04e85523064428f59b3e62be1
parent08c4f465d7eae54fc132c030853ac77e32f29e93
sched: Kick full dynticks CPU that have more than one task enqueued.

Kick the tick on full dynticks CPUs when they get more
than one task running on their queue. This makes sure that
local fairness is maintained by the tick on the destination.

This is done regardless of these tasks' class. We should
be able to be more clever in the future depending on these. eg:
a CPU that runs a SCHED_FIFO task doesn't need to maintain
fairness against local pending tasks of the fair class.

But keep things simple for now.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Geoff Levand <geoff@infradead.org>
Cc: Gilad Ben Yossef <gilad@benyossef.com>
Cc: Hakan Akkan <hakanakkan@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Kevin Hilman <khilman@linaro.org>
Cc: Li Zhong <zhong@linux.vnet.ibm.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
kernel/sched/sched.h