diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 0dd5e0971a0778a3e09ee8a91f5851dfa1dc25a9..b5700bceee55bba2b66731b595db1545349ce2e3 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -1560,7 +1560,7 @@ static void switched_to_dl(struct rq *rq, struct task_struct *p) if (unlikely(p->dl.dl_throttled)) return; - if (p->on_rq || rq->curr != p) { + if (p->on_rq && rq->curr != p) { #ifdef CONFIG_SMP if (rq->dl.overloaded && push_dl_task(rq) && rq != task_rq(p)) /* Only reschedule if pushing failed */