diff options
-rw-r--r-- | kernel/sched/deadline.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 5285332392d5..9d1e76a21297 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c | |||
@@ -1622,7 +1622,8 @@ static void switched_to_dl(struct rq *rq, struct task_struct *p) | |||
1622 | 1622 | ||
1623 | if (task_on_rq_queued(p) && rq->curr != p) { | 1623 | if (task_on_rq_queued(p) && rq->curr != p) { |
1624 | #ifdef CONFIG_SMP | 1624 | #ifdef CONFIG_SMP |
1625 | if (rq->dl.overloaded && push_dl_task(rq) && rq != task_rq(p)) | 1625 | if (p->nr_cpus_allowed > 1 && rq->dl.overloaded && |
1626 | push_dl_task(rq) && rq != task_rq(p)) | ||
1626 | /* Only reschedule if pushing failed */ | 1627 | /* Only reschedule if pushing failed */ |
1627 | check_resched = 0; | 1628 | check_resched = 0; |
1628 | #endif /* CONFIG_SMP */ | 1629 | #endif /* CONFIG_SMP */ |