Hi Lukasz, thanks for commenting this patch, On 04/03/2021 14:47, Lukasz Luba wrote: > Hi Daniel, > > On 3/4/21 12:50 PM, Daniel Lezcano wrote: >> Currently the default behavior is to manually having the devfreq >> backend to register themselves as a devfreq cooling device. >> >> There are no so many and actually it makes more sense to register the >> devfreq device when adding it. >> >> Consequently, every devfreq becomes a cooling device like cpufreq is. >> >> Having a devfreq being registered as a cooling device can not mitigate >> a thermal zone if it is not bound to this one. Thus, the current >> configurations are not impacted by this change. > > There are also different type of devices, which register into devfreq > framework like NoC buses, UFS/eMMC, jpeg and video accelerators, ISP, > etc. > In some platforms there are plenty of those devices and they all would > occupy memory due to private freq_table in devfreq_cooling, function: > devfreq_cooling_gen_tables(). > > IIRC in OdroidXU4 there are ~20 devfreq devs for NoC buses. I'm curious, do you have a pointer to such kernels having all those devfreq ? > It's true that they will not affect thermal zones, but unnecessarily, > they all will show up in the /sys/class/thermal/ as > thermal-devfreq-X > > > IMO the devfreq shouldn't be tight with devfreq cooling thermal. The energy model is tied with a cooling device initialization. So if we want to do power limitation, the energy model must be initialized with the device, thus the cooling device also. That is the reason why I'm ending up with this change. Chanwoo suggestion makes sense and that will allow to move the initialization to devfreq which is more sane but it does not solve the initial problem with the energy model. -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog