Re: [PATCH v5 3/3] thermal: cpu_cooling: Migrate to using the EM framework

From: Viresh Kumar
Date: Thu May 30 2019 - 23:32:55 EST


On 30-05-19, 12:27, Quentin Perret wrote:
> On Thursday 30 May 2019 at 10:20:38 (+0100), Quentin Perret wrote:
> > The newly introduced Energy Model framework manages power cost tables in
> > a generic way. Moreover, it supports several types of models since the
> > tables can come from DT or firmware (through SCMI) for example. On the
> > other hand, the cpu_cooling subsystem manages its own power cost tables
> > using only DT data.
> >
> > In order to avoid the duplication of data in the kernel, and in order to
> > enable IPA with EMs coming from more than just DT, remove the private
> > tables from cpu_cooling.c and migrate it to using the centralized EM
> > framework. Doing so should have no visible functional impact for
> > existing users of IPA since:
> >
> > - recent extenstions to the the PM_OPP infrastructure enable the
> > registration of EMs in PM_EM using the DT property used by IPA;
> >
> > - the existing upstream cpufreq drivers marked with the
> > 'CPUFREQ_IS_COOLING_DEV' flag all use the aforementioned PM_OPP
> > infrastructure, which means they all support PM_EM. The only two
> > exceptions are qoriq-cpufreq which doesn't in fact use an EM and
> > scmi-cpufreq which doesn't use DT for power costs.
> >
> > For existing users of cpu_cooling, PM_EM tables will contain the exact
> > same power values that IPA used to compute on its own until now. The
> > only new dependency for them is to compile in CONFIG_ENERGY_MODEL.
> >
> > The case where the thermal subsystem is used without an Energy Model
> > (cpufreq_cooling_ops) is handled by looking directly at CPUFreq's
> > frequency table which is already a dependency for cpu_cooling.c anyway.
> > Since the thermal framework expects the cooling states in a particular
> > order, bail out whenever the CPUFreq table is unsorted, since that is
> > fairly uncommon in general, and there are currently no users of
> > cpu_cooling for this use-case.
> >
> > Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
>
> Viresh: the patch hasn't changed much so I kept this, but please shout
> if you're not happy with the new version :-)

Yeah, it looked fine and so I didn't complain :)

--
viresh