From: Juri Lelli Date: Wed, 27 Nov 2024 06:37:40 +0000 (+0100) Subject: sched/deadline: Fix replenish_dl_new_period dl_server condition X-Git-Tag: v6.12.6~170 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3d85c14899bc53d0914ca3e1526fed5fba91631;p=thirdparty%2Fkernel%2Fstable.git sched/deadline: Fix replenish_dl_new_period dl_server condition commit 22368fe1f9bbf39db2b5b52859589883273e80ce upstream. The condition in replenish_dl_new_period() that checks if a reservation (dl_server) is deferred and is not handling a starvation case is obviously wrong. Fix it. Fixes: a110a81c52a9 ("sched/deadline: Deferrable dl server") Signed-off-by: Juri Lelli Signed-off-by: Peter Zijlstra (Intel) Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/20241127063740.8278-1-juri.lelli@redhat.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index 40a1ad4493b4d..fc6f41ac33eb1 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -781,7 +781,7 @@ static inline void replenish_dl_new_period(struct sched_dl_entity *dl_se, * If it is a deferred reservation, and the server * is not handling an starvation case, defer it. */ - if (dl_se->dl_defer & !dl_se->dl_defer_running) { + if (dl_se->dl_defer && !dl_se->dl_defer_running) { dl_se->dl_throttled = 1; dl_se->dl_defer_armed = 1; }