diff --git a/[refs] b/[refs] index 187d08604e9a..ef48b4e3e5db 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 07b4032c9e505e2a1fbe7703aff64a153c3249be +refs/heads/master: 2de0b4639f4b1b6bfe31f795e5855f041f177170 diff --git a/trunk/kernel/sched_rt.c b/trunk/kernel/sched_rt.c index ffd02720b58f..95f36f61ae1d 100644 --- a/trunk/kernel/sched_rt.c +++ b/trunk/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);