summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorGregory Haskins <ghaskins@novell.com>2008-01-25 21:08:10 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-25 21:08:10 +0100
commit2de0b4639f4b1b6bfe31f795e5855f041f177170 (patch)
tree18f7647cb785e3aa450aacbb11150bea2da7ce22 /kernel
parent07b4032c9e505e2a1fbe7703aff64a153c3249be (diff)
downloadlinux-2de0b4639f4b1b6bfe31f795e5855f041f177170.tar.gz
linux-2de0b4639f4b1b6bfe31f795e5855f041f177170.tar.bz2
linux-2de0b4639f4b1b6bfe31f795e5855f041f177170.zip
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>
Diffstat (limited to 'kernel')
-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 ffd02720b58f..95f36f61ae1d 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);