diff options
author | Vincent Guittot <vincent.guittot@linaro.org> | 2021-06-01 17:53:28 +0200 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2021-06-17 14:11:42 +0200 |
commit | 9e077b52d86ac364a295b05c916c7478a16865b2 (patch) | |
tree | f2da3e24ee1acac3e1f97d9c7dbdf5f0e691ae55 | |
parent | 0159bb020ca9a43b17aa9149f1199643c1d49426 (diff) | |
download | linux-9e077b52d86ac364a295b05c916c7478a16865b2.tar.bz2 |
sched/pelt: Check that *_avg are null when *_sum are
Check that we never break the rule that pelt's avg values are null if
pelt's sum are.
Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Acked-by: Odin Ugedal <odin@uged.al>
Link: https://lore.kernel.org/r/20210601155328.19487-1-vincent.guittot@linaro.org
-rw-r--r-- | kernel/sched/fair.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index ce625bf8024d..198514dcbe46 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -8026,6 +8026,15 @@ static inline bool cfs_rq_is_decayed(struct cfs_rq *cfs_rq) if (cfs_rq->avg.runnable_sum) return false; + /* + * _avg must be null when _sum are null because _avg = _sum / divider + * Make sure that rounding and/or propagation of PELT values never + * break this. + */ + SCHED_WARN_ON(cfs_rq->avg.load_avg || + cfs_rq->avg.util_avg || + cfs_rq->avg.runnable_avg); + return true; } |