sched: Update time before requeueing delayed entities
authorVincent Guittot <vincent.guittot@linaro.org>
Fri, 14 Aug 2026 13:52:41 +0000 (15:52 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 14 Aug 2026 14:12:55 +0000 (16:12 +0200)
In order to compute the right lag, it is required to update time to 'now'.
Without this, the delayed entity might appear younger than it really is and
receive less compensation for having waited.

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
kernel/sched/fair.c

index d78467e..f15f576 100644 (file)
@@ -7779,6 +7779,8 @@ requeue_delayed_entity(struct sched_entity *se)
        WARN_ON_ONCE(!se->sched_delayed);
        WARN_ON_ONCE(!se->on_rq);
 
+       update_curr(cfs_rq);
+
        if (update_entity_lag(cfs_rq, se)) {
                cfs_rq->nr_queued--;
                if (se != cfs_rq->curr)