]> err.no Git - linux-2.6/commit
sched: add avg-overlap support to RT tasks
authorGregory Haskins <ghaskins@novell.com>
Fri, 27 Jun 2008 20:30:00 +0000 (14:30 -0600)
committerIngo Molnar <mingo@elte.hu>
Fri, 4 Jul 2008 10:50:22 +0000 (12:50 +0200)
commit2087a1ad822cd3a68b73338457047fcc54da726b
tree1ebc45b2499034ffe37b29bf7a748b8e992cd870
parentc4acb2c0669c5c5c9b28e9d02a34b5c67edf7092
sched: add avg-overlap support to RT tasks

We have the notion of tracking process-coupling (a.k.a. buddy-wake) via
the p->se.last_wake / p->se.avg_overlap facilities, but it is only used
for cfs to cfs interactions.  There is no reason why an rt to cfs
interaction cannot share in establishing a relationhip in a similar
manner.

Because PREEMPT_RT runs many kernel threads as FIFO priority, we often
times have heavy interaction between RT threads waking CFS applications.
This patch offers a substantial boost (50-60%+) in perfomance under those
circumstances.

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
Cc: npiggin@suse.de
Cc: rostedt@goodmis.org
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched.c
kernel/sched_fair.c