diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-19 10:40:51 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-19 10:40:51 -0700 |
commit | 8f98f6f5d68028018d2362c13b5527c920d9115f (patch) | |
tree | a64304991bba83bf3d59daf047b200c76b85da9c /kernel/sched/rt.c | |
parent | 8de3f7a70572c55201f02b9db804e8eef13cb840 (diff) | |
parent | a1d9a3231eac4117cadaf4b6bba5b2902c15a33e (diff) | |
download | lwn-8f98f6f5d68028018d2362c13b5527c920d9115f.tar.gz lwn-8f98f6f5d68028018d2362c13b5527c920d9115f.zip |
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fixes from Ingo Molnar:
"Two fixes:
- a SCHED_DEADLINE task selection fix
- a sched/numa related lockdep splat fix"
* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched: Check for stop task appearance when balancing happens
sched/numa: Fix task_numa_free() lockdep splat
Diffstat (limited to 'kernel/sched/rt.c')
-rw-r--r-- | kernel/sched/rt.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index d8cdf1618551..bd2267ad404f 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -1362,10 +1362,11 @@ pick_next_task_rt(struct rq *rq, struct task_struct *prev) pull_rt_task(rq); /* * pull_rt_task() can drop (and re-acquire) rq->lock; this - * means a dl task can slip in, in which case we need to - * re-start task selection. + * means a dl or stop task can slip in, in which case we need + * to re-start task selection. */ - if (unlikely(rq->dl.dl_nr_running)) + if (unlikely((rq->stop && rq->stop->on_rq) || + rq->dl.dl_nr_running)) return RETRY_TASK; } |