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 ? 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. > > 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. -- viresh