diff options
| author | Vincent Guittot <vincent.guittot@linaro.org> | 2026-08-14 15:52:41 +0200 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2026-08-14 16:12:55 +0200 |
| commit | 333238da9a193ffc58792995f3e951e4cb87bfd2 (patch) | |
| tree | 799de0ffddefc3b9ae01f788885a793a3635302d | |
| parent | db2ddb87143519e20a95aa36c60b36107b736a58 (diff) | |
| download | linux-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.c | 2 |
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) |
