diff options
author | Steven Rostedt <srostedt@redhat.com> | 2008-01-25 21:08:07 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-25 21:08:07 +0100 |
commit | f65eda4f789168ba5ff3fa75546c29efeed19f58 (patch) | |
tree | 235e6daad2bc37b22cc5b21907608c79f944f036 /kernel/sched.c | |
parent | 4fd29176b7cd24909f8ceba2105cb3ae2857b90c (diff) | |
download | blackbird-op-linux-f65eda4f789168ba5ff3fa75546c29efeed19f58.tar.gz blackbird-op-linux-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.c | 2 |
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); |