diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched_rt.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index 1178257613ad..1144bf55669d 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c | |||
@@ -877,10 +877,8 @@ static int pull_rt_task(struct rq *this_rq) | |||
877 | /* | 877 | /* |
878 | * Are there still pullable RT tasks? | 878 | * Are there still pullable RT tasks? |
879 | */ | 879 | */ |
880 | if (src_rq->rt.rt_nr_running <= 1) { | 880 | if (src_rq->rt.rt_nr_running <= 1) |
881 | spin_unlock(&src_rq->lock); | 881 | goto skip; |
882 | continue; | ||
883 | } | ||
884 | 882 | ||
885 | p = pick_next_highest_task_rt(src_rq, this_cpu); | 883 | p = pick_next_highest_task_rt(src_rq, this_cpu); |
886 | 884 | ||
@@ -904,7 +902,7 @@ static int pull_rt_task(struct rq *this_rq) | |||
904 | */ | 902 | */ |
905 | if (p->prio < src_rq->curr->prio || | 903 | if (p->prio < src_rq->curr->prio || |
906 | (next && next->prio < src_rq->curr->prio)) | 904 | (next && next->prio < src_rq->curr->prio)) |
907 | goto out; | 905 | goto skip; |
908 | 906 | ||
909 | ret = 1; | 907 | ret = 1; |
910 | 908 | ||
@@ -924,7 +922,7 @@ static int pull_rt_task(struct rq *this_rq) | |||
924 | next = p; | 922 | next = p; |
925 | 923 | ||
926 | } | 924 | } |
927 | out: | 925 | skip: |
928 | spin_unlock(&src_rq->lock); | 926 | spin_unlock(&src_rq->lock); |
929 | } | 927 | } |
930 | 928 | ||