sched/pelt: Ensure that *_sum is always synced with *_avg
authorVincent Guittot <vincent.guittot@linaro.org>
Tue, 1 Jun 2021 08:58:32 +0000 (10:58 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 3 Jun 2021 10:55:55 +0000 (12:55 +0200)
commitfcf6631f3736985ec89bdd76392d3c7bfb60119f
tree22924383c5f369cfcd524254379cf6f86a7b6dc1
parentf268c3737ecaefcfeecfb4cb5e44958a8976f067
sched/pelt: Ensure that *_sum is always synced with *_avg

Rounding in PELT calculation happening when entities are attached/detached
of a cfs_rq can result into situations where util/runnable_avg is not null
but util/runnable_sum is. This is normally not possible so we need to
ensure that util/runnable_sum stays synced with util/runnable_avg.

detach_entity_load_avg() is the last place where we don't sync
util/runnable_sum with util/runnbale_avg when moving some sched_entities

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