Re: Re: [PATCH] base: arch_topology: Use policy->max to calculate freq_factor

From: Rafael J. Wysocki
Date: Wed Nov 17 2021 - 07:49:42 EST


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.