diff options
author | Gregory Haskins <ghaskins@novell.com> | 2008-01-25 15:08:10 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-25 15:08:10 -0500 |
commit | 2de0b4639f4b1b6bfe31f795e5855f041f177170 (patch) | |
tree | 18f7647cb785e3aa450aacbb11150bea2da7ce22 | |
parent | 07b4032c9e505e2a1fbe7703aff64a153c3249be (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>
-rw-r--r-- | kernel/sched_rt.c | 5 |
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); |