Messages in this thread | | | Subject | Re: [PATCH v3 3/3] [RFC] CPUFreq: Add support for cpu-perf-dependencies | From | Lukasz Luba <> | Date | Tue, 17 Nov 2020 10:47:19 +0000 |
| |
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) ? I don't think cpufreq-cooling should be updated, unless there > is a compelling reason to.
Fair enough. What if we come back with experiments results in future? Currently we are trying to conduct experiments with Nicola on modified Juno firmware and kernel)
> > The other one in energy model ? Why does it need this information ?
The energy model needs this information, because it's used during the sched domain re-build. The sched domain is then used in the EAS main functions: feec() [1] and compute_energy() [2]. What EAS normally does is 'trying different options to put a task on different CPUs and observe the potential energy costs'. Example, we need the 'cluster' frequency, because when you put a task on a CPU its freq might need to be set a bit higher. This would affect all CPUs in the cluster not only one and we capture that energy cost. Then, we try to put a task on other CPU in that cluster and if it appears to be no need of rising freq for the whole cluster, then it wins.
> > Who else ? >
FIE..
| |