diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 71dffbb27ce61ebacf3bbdbfcecdbc86771724ec..9d84d6004745c81b54761339e2535497ea388d92 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2378,7 +2378,8 @@ static int dl_overflow(struct task_struct *p, int policy, u64 new_bw = dl_policy(policy) ? to_ratio(period, runtime) : 0; int cpus, err = -1; - if (new_bw == p->dl.dl_bw) + /* !deadline task may carry old deadline bandwidth */ + if (new_bw == p->dl.dl_bw && task_has_dl_policy(p)) return 0; /*