aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/sched/deadline.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index e7779b3feec4..362ab1f886b0 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -1643,8 +1643,11 @@ static void switched_from_dl(struct rq *rq, struct task_struct *p)
1643 * this is the right place to try to pull some other one 1643 * this is the right place to try to pull some other one
1644 * from an overloaded cpu, if any. 1644 * from an overloaded cpu, if any.
1645 */ 1645 */
1646 if (!rq->dl.dl_nr_running) 1646 if (!task_on_rq_queued(p) || rq->dl.dl_nr_running)
1647 pull_dl_task(rq); 1647 return;
1648
1649 if (pull_dl_task(rq))
1650 resched_curr(rq);
1648#endif 1651#endif
1649} 1652}
1650 1653