aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorGregory Haskins <ghaskins@novell.com>2008-01-25 21:08:13 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-25 21:08:13 +0100
commit17b3279b48835eb522d842eae16f541da3729c8a (patch)
treec94c7da732fbefda4a938bb6479ebb3b6d8d0c82 /kernel
parentsched: RT-balance, avoid overloading (diff)
downloadlinux-dev-17b3279b48835eb522d842eae16f541da3729c8a.tar.xz
linux-dev-17b3279b48835eb522d842eae16f541da3729c8a.zip
sched: break out early if RT task cannot be migrated
We don't need to bother searching if the task cannot be migrated Signed-off-by: Gregory Haskins <ghaskins@novell.com> Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to '')
-rw-r--r--kernel/sched_rt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index 9becc3710b60..72c81322fb9a 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -176,7 +176,8 @@ static int select_task_rq_rt(struct task_struct *p, int sync)
* that is just being woken and probably will have
* cold cache anyway.
*/
- if (unlikely(rt_task(rq->curr))) {
+ if (unlikely(rt_task(rq->curr)) &&
+ (p->nr_cpus_allowed > 1)) {
int cpu = find_lowest_rq(p);
return (cpu == -1) ? task_cpu(p) : cpu;