]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
sched/deadline: Fix replenish_dl_new_period dl_server condition
authorJuri Lelli <juri.lelli@redhat.com>
Wed, 27 Nov 2024 06:37:40 +0000 (07:37 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 2 Dec 2024 11:01:27 +0000 (12:01 +0100)
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 <juri.lelli@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20241127063740.8278-1-juri.lelli@redhat.com
kernel/sched/deadline.c

index d9d5a702f1a61f3d9ced7ad10f5a724d11916185..206691d35b7d0f6d5b8fdd2b83db8de45eee28f8 100644 (file)
@@ -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;
        }