Messages in this thread | | | Date | Fri, 22 Jun 2018 13:54:34 +0100 | From | Quentin Perret <> | Subject | Re: [PATCH v6 04/11] cpufreq/schedutil: use rt utilization tracking |
| |
On Friday 22 Jun 2018 at 13:37:13 (+0200), Peter Zijlstra wrote: > That is true.. So we could limit the scaling to the case where there is > no idle time, something like: > > util = sg_cpu->util_cfs; > > cap_cfs = (1024 - (sg_cpu->util_rt + ...)); > if (util == cap_cfs) > util = sg_cpu->max; > > That specifically handles the '0% idle -> 100% freq' case, but I don't > realy like edge behaviour like that. If for some reason it all doesn't > quite align you're left with bits. > > And the linear scaling is the next simplest thing that avoids the hard > boundary case.
Right, so maybe we'll get something smoother by just summing the signals as Vincent is proposing ? You will still request max freq for the (util == cap_cfs) case you described. By definition, you will have (util_cfs + util_rt + ...) == 1024 in this case.
cap_cfs is the delta between RT+DL+... and 1024, and the only case where util_cfs can be equal to cap_cfs is if util_cfs fills that delta entirely.
I hope that makes sense
Thanks, Quentin
| |