]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
sched/fair: Rename cfs_rq::avg_vruntime to ::sum_w_vruntime, and helper functions
authorIngo Molnar <mingo@kernel.org>
Tue, 2 Dec 2025 15:09:23 +0000 (16:09 +0100)
committerIngo Molnar <mingo@kernel.org>
Mon, 15 Dec 2025 06:52:44 +0000 (07:52 +0100)
commitdcbc9d3f0e594223275a18f7016001889ad35eff
tree10af6923d1eb8dcc23139a5a09c9cb3737e83ccb
parent4ff674fa986c27ec8a0542479258c92d361a2566
sched/fair: Rename cfs_rq::avg_vruntime to ::sum_w_vruntime, and helper functions

The ::avg_vruntime field is a  misnomer: it says it's an
'average vruntime', but in reality it's the momentary sum
of the weighted vruntimes of all queued tasks, which is
at least a division away from being an average.

This is clear from comments about the math of fair scheduling:

    * \Sum (v_i - v0) * w_i := cfs_rq->avg_vruntime

This confusion is increased by the cfs_avg_vruntime() function,
which does perform the division and returns a true average.

The sum of all weighted vruntimes should be named thusly,
so rename the field to ::sum_w_vruntime. (As arguably
::sum_weighted_vruntime would be a bit of a mouthful.)

Understanding the scheduler is hard enough already, without
extra layers of obfuscated naming. ;-)

Also rename related helper functions:

  sum_vruntime_add()    => sum_w_vruntime_add()
  sum_vruntime_sub()    => sum_w_vruntime_sub()
  sum_vruntime_update() => sum_w_vruntime_update()

With the notable exception of cfs_avg_vruntime(), which
was named accurately.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://patch.msgid.link/20251201064647.1851919-7-mingo@kernel.org
kernel/sched/fair.c
kernel/sched/sched.h