Hi Viresh, On 11/17/20 10:11 AM, Viresh Kumar wrote: > On 16-11-20, 11:33, Lukasz Luba wrote: >> On 11/9/20 6:57 AM, Viresh Kumar wrote: >>> On 06-11-20, 11:14, Lukasz Luba wrote: >>>> I also had similar doubts, because if we make frequency requests >>>> independently for each CPU, why not having N cooling devs, which >>>> will set independently QoS max freq for them... >>>> >>>> What convinced me: >>>> EAS and FIE would know the 'real' frequency of the cluster, IPA >>>> can use it also and have only one cooling device per cluster. >>>> >>>> We would like to keep this old style 'one cooling device per cpuset'. >>>> I don't have strong opinion and if it would appear that there are >>>> some errors in freq estimation for cluster, then maybe it does make >>>> more sense to have cdev per CPU... >>> >>> Let me rephrase my question. What is it that doesn't work _correctly_ >>> with cdev per cpufreq policy in your case? What doesn't work well if >>> the thermal stuff keeps looking at only the related_cpus thing and not >>> the cpu-perf-dependencies thing? >>> >> >> We don't have a platform which would be this per-cpu freq request, yet. >> Thus it's hard to answer your question. The EAS would work in 'old >> style' - cluster mode. I don't know how IPA would work on such HW >> and SW configuration. To figure this out I need a real platform. > > Hmm, so who are going to be the users of this new stuff (dependent > CPUs) ? In general, any platform that has hardware coordination in place and some components need to use the information. I don't think cpufreq-cooling should be updated, unless there > is a compelling reason to. > > The other one in energy model ? Why does it need this information ? The reasons has probably gone lost in the emails, but in a nutshell EM needs accurate information on performance boundaries to achieve correct task placement. > > Who else ? > Freq-invariance has been mentioned. I suppose the fix will depend on which strategy we prefer to solve this. As a reminder, two solutions: 1) dependent_cpus cpumask in cpufreq and involved entities pick this info or 2) dependent_cpus cpumask in driver but some entities' interfaces may need to change Hope it helps, Nicola