Re: [PATCH 0/4] Add sustainable OPP concept

Lukasz Luba
2020-10-30T12:41:31Z

On 10/30/20 11:17 AM, Viresh Kumar wrote:
> On 30-10-20, 10:56, Lukasz Luba wrote:
>> IPA tries to do that, even dynamically when e.g. GPU is supper busy
>> in 3D games (~2000W) or almost idle showing 2D home screen.
>> It tries to find highest 'sustainable' frequencies for the devices,
>> at that various workloads and temp. But it needs some coefficients to
>> start, which have big impact on the algorithm. It could slow down IPA a
>> lot, when those coefficients are calculated based on lowest OPPs.
>
> I see. So when you say it slows down IPA, what does that really mean ?
> IPA isn't performing that accurately during the initial period of
> booting (any time estimate here) ? Does it work fine after a time
> duration? Or will it suffer for ever ?

The coefficients would stay 'forever', which determine the temp rising
slope, until someone change them via sysfs (the: k_po, k_pu, k_i,
sustainable_power).

>
> And maybe you shouldn't start with the lowest OPPs while you calculate
> these coefficients dynamically ? Maybe start from the middle ? As the
> sustainable OPP would be something there only or maybe a bit higher
> only. But yeah, I don't have any idea about how those coefficients are
> calculated so this idea can be simply ignored as well :)
>
>> My backup plan was to add a flag into EM em_perf_state, extend SCMI perf
>> exposing the 'sustained_freq_khz' to scmi-cpufreq, which would set that
>> field after registering EM. IPA depends on EM, so should be OK.
>
> I think at this point (considering the limited number of users (only
> IPA) and providers (only SCMI)), it would be better that way only
> instead of updating the OPP framework. Of course we can revisit that
> if we ever feel that we need a better placeholder for it.

OK, sounds good.

>
>>> So only SCMI based platforms will be able to use this stuff ? That's
>>> very limited, isn't it ? I think we should still try to make it better
>>> for everyone by making the software smarter. It has so much data, the
>>> OPPs, the power it will consume (based on microvolt property?), the
>>> heat we produce from that (from thermal framework), etc. Perhaps
>>> building this information continuously at runtime based on when and
>>> how we hit the trip points ? So we know which is the right frequency
>>> where we can refrain from hitting the trip points.
>>
>> IPA works in this way.
>
> Nice, that's what I thought as well but then got a bit confused with
> your patchset.
>
>>> But may be I am asking too much :(
>>>
>>
>> When you asked for user of this, I gave you instantly. This is one is
>> more difficult. I am still not there with IPA tests in LISA. I have some
>> out-of-tree kernel driver for testing, which also need polishing before
>> can be used with LISA. Then proper workloads with results processing.
>> EM for devfreq cooling devices. Then decent 'hot' board running
>> preferably mainline kernel.
>> What you requested is on my list, but it needs more work, which
>> won't be ready over night.
>
> I can understand what you are trying to do here. And this surely
> requires a lot of effort.
>

Thank you Viresh for your opinion.
I will take the EM approach, please ignore this patch set.

Regards,
Lukasz