aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched_rt.c
diff options
context:
space:
mode:
authorGregory Haskins <ghaskins@novell.com>2008-01-25 15:08:10 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-25 15:08:10 -0500
commit2de0b4639f4b1b6bfe31f795e5855f041f177170 (patch)
tree18f7647cb785e3aa450aacbb11150bea2da7ce22 /kernel/sched_rt.c
parent07b4032c9e505e2a1fbe7703aff64a153c3249be (diff)
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 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)
277 for_each_cpu_mask(cpu, *cpu_mask) { 277 for_each_cpu_mask(cpu, *cpu_mask) {
278 struct rq *rq = cpu_rq(cpu); 278 struct rq *rq = cpu_rq(cpu);
279 279
280 if (cpu == rq->cpu)
281 continue;
282
283 /* We look for lowest RT prio or non-rt CPU */ 280 /* We look for lowest RT prio or non-rt CPU */
284 if (rq->rt.highest_prio >= MAX_RT_PRIO) { 281 if (rq->rt.highest_prio >= MAX_RT_PRIO) {
285 lowest_rq = rq; 282 lowest_rq = rq;
@@ -307,7 +304,7 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task,
307 for (tries = 0; tries < RT_MAX_TRIES; tries++) { 304 for (tries = 0; tries < RT_MAX_TRIES; tries++) {
308 cpu = find_lowest_rq(task); 305 cpu = find_lowest_rq(task);
309 306
310 if (cpu == -1) 307 if ((cpu == -1) || (cpu == rq->cpu))
311 break; 308 break;
312 309
313 lowest_rq = cpu_rq(cpu); 310 lowest_rq = cpu_rq(cpu);