summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Haskins <ghaskins@novell.com>2008-01-25 20:08:10 (GMT)
committerIngo Molnar <mingo@elte.hu>2008-01-25 20:08:10 (GMT)
commit2de0b4639f4b1b6bfe31f795e5855f041f177170 (patch)
tree18f7647cb785e3aa450aacbb11150bea2da7ce22
parent07b4032c9e505e2a1fbe7703aff64a153c3249be (diff)
downloadlinux-2de0b4639f4b1b6bfe31f795e5855f041f177170.tar.xz
sched: RT balancing: include current CPU
It doesn't hurt if we allow the current CPU to be included in the search. We will just simply skip it later if the current CPU turns out to be the lowest. We will use this later in the series 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.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index ffd0272..95f36f6 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -277,9 +277,6 @@ static int find_lowest_rq(struct task_struct *task)
for_each_cpu_mask(cpu, *cpu_mask) {
struct rq *rq = cpu_rq(cpu);
- if (cpu == rq->cpu)
- continue;
-
/* We look for lowest RT prio or non-rt CPU */
if (rq->rt.highest_prio >= MAX_RT_PRIO) {
lowest_rq = rq;
@@ -307,7 +304,7 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task,
for (tries = 0; tries < RT_MAX_TRIES; tries++) {
cpu = find_lowest_rq(task);
- if (cpu == -1)
+ if ((cpu == -1) || (cpu == rq->cpu))
break;
lowest_rq = cpu_rq(cpu);