summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Guittot <vincent.guittot@linaro.org>2026-08-14 15:52:41 +0200
committerPeter Zijlstra <peterz@infradead.org>2026-08-14 16:12:55 +0200
commit333238da9a193ffc58792995f3e951e4cb87bfd2 (patch)
tree799de0ffddefc3b9ae01f788885a793a3635302d
parentdb2ddb87143519e20a95aa36c60b36107b736a58 (diff)
downloadlinux-333238da9a193ffc58792995f3e951e4cb87bfd2.tar.gz
linux-333238da9a193ffc58792995f3e951e4cb87bfd2.zip
sched: Update time before requeueing delayed entities
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>
-rw-r--r--kernel/sched/fair.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index d78467ec6ee1..f15f5764818e 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -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)