summaryrefslogtreecommitdiff
path: root/kernel/sched.c
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2008-01-25 21:08:07 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-25 21:08:07 +0100
commitf65eda4f789168ba5ff3fa75546c29efeed19f58 (patch)
tree235e6daad2bc37b22cc5b21907608c79f944f036 /kernel/sched.c
parent4fd29176b7cd24909f8ceba2105cb3ae2857b90c (diff)
downloadlwn-f65eda4f789168ba5ff3fa75546c29efeed19f58.tar.gz
lwn-f65eda4f789168ba5ff3fa75546c29efeed19f58.zip
sched: pull RT tasks from overloaded runqueues
This patch adds the algorithm to pull tasks from RT overloaded runqueues. When a pull RT is initiated, all overloaded runqueues are examined for a RT task that is higher in prio than the highest prio task queued on the target runqueue. If another runqueue holds a RT task that is of higher prio than the highest prio task on the target runqueue is found it is pulled to the target runqueue. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched.c')
-rw-r--r--kernel/sched.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 97cab609fc31..c91797107913 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3721,6 +3721,8 @@ need_resched_nonpreemptible:
switch_count = &prev->nvcsw;
}
+ schedule_balance_rt(rq, prev);
+
if (unlikely(!rq->nr_running))
idle_balance(cpu, rq);