diff options
-rw-r--r-- | kernel/sched/deadline.c | 7 |
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 | ||