Messages in this thread | | | Date | Tue, 12 Dec 2023 18:22:23 +0000 | Subject | Re: [PATCH 1/4] sched/fair: Be less aggressive in calling cpufreq_update_util() | From | Hongyan Xia <> |
| |
On 12/12/2023 12:35, Qais Yousef wrote: > On 12/12/23 11:46, Dietmar Eggemann wrote: >> On 08/12/2023 02:52, Qais Yousef wrote: >>> Due to the way code is structured, it makes a lot of sense to trigger >>> cpufreq_update_util() from update_load_avg(). But this is too aggressive >>> as in most cases we are iterating through entities in a loop to >>> update_load_avg() in the hierarchy. So we end up sending too many >>> request in an loop as we're updating the hierarchy. >> >> But update_load_avg() calls cfs_rq_util_change() which only issues a >> cpufreq_update_util() call for the root cfs_rq? > > Yes I've noticed that and wondered. Maybe my analysis was flawed and I was just > hitting the issue of iowait boost request conflicting with update_load_avg() > request. > > Let me have another look. I think we'll still end up needing to take the update > out of util_avg to be able to combine the two calls.
I agree. Currently it does not express the intention clearly. We only want to update the root CFS but the code was written in a misleading way that suggests we want to update for every cfs_rq. A single update at the end looks much nicer and makes other patches easier.
Hongyan
| |