diff options
author | Steven Rostedt <srostedt@redhat.com> | 2008-01-25 15:08:07 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-25 15:08:07 -0500 |
commit | f65eda4f789168ba5ff3fa75546c29efeed19f58 (patch) | |
tree | 235e6daad2bc37b22cc5b21907608c79f944f036 /kernel/sched.c | |
parent | 4fd29176b7cd24909f8ceba2105cb3ae2857b90c (diff) |
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: | |||
3721 | switch_count = &prev->nvcsw; | 3721 | switch_count = &prev->nvcsw; |
3722 | } | 3722 | } |
3723 | 3723 | ||
3724 | schedule_balance_rt(rq, prev); | ||
3725 | |||
3724 | if (unlikely(!rq->nr_running)) | 3726 | if (unlikely(!rq->nr_running)) |
3725 | idle_balance(cpu, rq); | 3727 | idle_balance(cpu, rq); |
3726 | 3728 | ||