aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched_rt.c
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/sched_rt.c
parent07b4032c9e505e2a1fbe7703aff64a153c3249be (diff)
downloadkernel_samsung_smdk4412-2de0b4639f4b1b6bfe31f795e5855f041f177170.zip
kernel_samsung_smdk4412-2de0b4639f4b1b6bfe31f795e5855f041f177170.tar.gz
kernel_samsung_smdk4412-2de0b4639f4b1b6bfe31f795e5855f041f177170.tar.bz2
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/sched_rt.c')
-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);