On 02-02-18, 15:30, Daniel Lezcano wrote:
> On 02/02/2018 11:42, Viresh Kumar wrote:
> > Here is how I see the whole thing now:
> > 
> > - Yes we need individual support for both cpufreq and cpuidle cooling 
> > devices,
> >   and no one disagrees on that I believe.
> > 
> > - There is nothing in the thermal framework that disallows both cpufreq and
> >   cpuidle cooling devices to co-exist. Both would be part of the same 
> > thermal
> >   zone and so will get throttled with the same thermal sensor event. And so 
> > we
> >   will end up trying to cool down the SoC using both cpufreq and cpuidle
> >   technique.
> 
> No. It does not work because we will need different state for each
> cooling device and we need some logic behind.

Right, but I thought the cooling-maps can help us specify different cooling
states for different cooling devices for the same trip point. Maybe my
understanding of that is incorrect.

> > - Now I am just wondering if we really need the "combo" functionality or 
> > not.
> >   Can we fine tune the DT cpu-cooling properties (existing ones) for a 
> > platform,
> >   so that it automatically acts as a combo cooling device? I am not 100% 
> > sure
> >   its gonna fly, but just wanted to make sure its not possible to work 
> > around
> >   with and then only try the combo device thing.
> > 
> > For example, suppose that with just cpufreq-cooling device we need to take 
> > the
> > CPU down to 1 GHz from 2 GHz if we cross temperature 'X'. What if we can 
> > change
> > this policy from DT and say the cpufreq-cooling device goes to 1.5 GHz and
> > cpuidle-cooling device takes us to idle for 'y' us, and the effect of
> > combination of these two is >= the effect of the 1 GHz for just the
> > cpufreq-cooling device.
> > 
> > Is there any possibility of this to work ?
> 
> It does not make sense. The combo does that automatically by computing
> the power equivalence more precisely.

Sure, but that works by creating a virtual combo-cooling device instead of two
separate cooling devices and then there are several limitation (at least right
now) where it doesn't sense the real situation automagically. For example I
would expect the combo to just work with cpuidle if cpufreq isn't present and as
soon as cpufreq comes in, covert itself to cpufreq+cpuidle. I was just trying to
present another view at solving the problem at hand, not that one is better
than the other.

-- 
viresh

Reply via email to