summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Haskins <ghaskins@novell.com>2008-01-25 23:08:13 +0300
committerIngo Molnar <mingo@elte.hu>2008-01-25 23:08:13 +0300
commit17b3279b48835eb522d842eae16f541da3729c8a (patch)
treec94c7da732fbefda4a938bb6479ebb3b6d8d0c82
parente1f47d891c0f00769d6d40ac5740f943e998d089 (diff)
downloadlinux-17b3279b48835eb522d842eae16f541da3729c8a.tar.xz
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>
-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;