Re: [PATCH 6/6] sched/fair: Rename cfs_rq::avg_vruntime to ::sum_w_vruntime, and helper functions

From: Peter Zijlstra
Date: Tue Dec 02 2025 - 05:36:42 EST


On Mon, Dec 01, 2025 at 07:46:47AM +0100, Ingo Molnar wrote:
> 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()

So vruntime := runtime / w, so w*vruntime is runtime again. I'm sure
there's something there.

/me runs.

But yeah no arguments this naming needs help.

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

But the old avg_vruntime() name was good too!