Re: [PATCH v4 2/3] PM / EM: Expose perf domain struct

From: Quentin Perret
Date: Wed May 15 2019 - 05:18:52 EST

Hi Daniel,

On Wednesday 15 May 2019 at 11:06:18 (+0200), Daniel Lezcano wrote:
> On 15/05/2019 10:23, Quentin Perret wrote:
> > In the current state, the perf_domain struct is fully defined only when
> > CONFIG_ENERGY_MODEL=y. Since we need to write code that compiles both
> > with or without that option in the thermal framework, make sure to
> > actually define the struct regardless of the config option. That allows
> > to avoid using stubbed accessor functions all the time in code paths
> > that use the EM.
> >
> > Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
> > Signed-off-by: Quentin Perret <quentin.perret@xxxxxxx>
> This patch implies the cpu cooling device can be set without the energy
> model.
> Isn't it possible to make a strong dependency for the cpu cooling device
> on the energy model option, add the energy model as default on arm arch
> and drop this patch?

Right, that should work too.

> After all, the cpu cooling is using the em framework.

The reason I did it that way is simply to keep things flexible. If you
don't compile in THERMAL_GOV_POWER_ALLOCATOR, you will never use the EM
for CPU thermal. So I thought it would be good to not mandate compiling
in ENERGY_MODEL in this case -- that should save a bit of space.

But TBH I don't have a strong opinion on this one, so if everybody
agrees it's fine to just make CPU_THERMAL depend on ENERGY_MODEL, I'm
happy to drop this patch and fix patch 3/3. That would indeed simplify
things a bit.