diff --git a/[refs] b/[refs] index 99e5343b5659..0d5bc5aa2da9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6f505b16425a51270058e4a93441fe64de3dd435 +refs/heads/master: 614ee1f61f667b02165c1ae0c1357048dc6d94a0 diff --git a/trunk/kernel/sched_rt.c b/trunk/kernel/sched_rt.c index 1178257613ad..1144bf55669d 100644 --- a/trunk/kernel/sched_rt.c +++ b/trunk/kernel/sched_rt.c @@ -877,10 +877,8 @@ static int pull_rt_task(struct rq *this_rq) /* * Are there still pullable RT tasks? */ - if (src_rq->rt.rt_nr_running <= 1) { - spin_unlock(&src_rq->lock); - continue; - } + if (src_rq->rt.rt_nr_running <= 1) + goto skip; p = pick_next_highest_task_rt(src_rq, this_cpu); @@ -904,7 +902,7 @@ static int pull_rt_task(struct rq *this_rq) */ if (p->prio < src_rq->curr->prio || (next && next->prio < src_rq->curr->prio)) - goto out; + goto skip; ret = 1; @@ -924,7 +922,7 @@ static int pull_rt_task(struct rq *this_rq) next = p; } - out: + skip: spin_unlock(&src_rq->lock); }