Hi,
On 11/17/21 7:49 AM, Rafael J. Wysocki wrote:
On Wed, Nov 17, 2021 at 11:46 AM Lukasz Luba <lukasz.luba@xxxxxxx> wrote:
Hi Rafael,
On 11/16/21 7:05 PM, Rafael J. Wysocki wrote:
On Mon, Nov 15, 2021 at 9:10 PM Thara Gopinath
<thara.gopinath@xxxxxxxxxx> wrote:
cpuinfo.max_freq can reflect boost frequency if enabled during boot. Since
we don't consider boost frequencies while calculating cpu capacities, use
policy->max to populate the freq_factor during boot up.
I'm not sure about this. schedutil uses cpuinfo.max_freq as the max frequency.
Agree it's tricky how we treat the boost frequencies and also combine
them with thermal pressure.
We probably would have consider these design bits:
1. Should thermal pressure include boost frequency?
Well, I guess so.
Running at a boost frequency certainly increases thermal pressure.
2. Should max capacity 1024 be a boost frequency so scheduler
would see it explicitly?
That's what it is now if cpuinfo.max_freq is a boost frequency.
- if no, then schedutil could still request boost freq thanks to
map_util_perf() where we add 25% to the util and then
map_util_freq() would return a boost freq when util was > 1024
I can see in schedutil only one place when cpuinfo.max_freq is used:
get_next_freq(). If the value stored in there is a boost,
then don't we get a higher freq value for the same util?
Yes. we do, which basically is my point.
The schedutil's response is proportional to cpuinfo.max_freq and that
needs to be taken into account for the results to be consistent.
So IIUC, cpuinfo.max_freq is always supposed to be the highest supported
frequency of a cpu, irrespective of whether boost is enabled or not.
Where as policy->max is the currently available maximum cpu frequency
which can be equal to cpuinfo.max_freq or lower (depending on whether
boost is enabled, whether there is a constraint on policy->max placed by
thermal etc). So in this case isn't it better for schedutil to consider
policy->max instead of cpuinfo.max ? Like you mentioned above same
utilization will relate to different frequencies depending on the
maximum frequency.
--
Warm Regards
Thara (She/Her/Hers)