On Wed, 25 Oct 2023 at 13:55, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > > On Wed, Oct 18, 2023 at 06:25:38PM +0200, Vincent Guittot wrote: > > The last item of a performance domain is not always the performance point > > that has been used to compute CPU's capacity. This can lead to different > > target frequency compared with other part of the system like schedutil and > > would result in wrong energy estimation. > > > > A new arch_scale_freq_ref() is available to return a fixed and coherent > > frequency reference that can be used when computing the CPU's frequency > > for an level of utilization. Use this function to get this reference > > frequency. > > > > Energy model is never used without defining arch_scale_freq_ref() but > > can be compiled. Define a default arch_scale_freq_ref() returning 0 > > in such case. > > > > Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> > > Reviewed-by: Lukasz Luba <lukasz.luba@xxxxxxx> > > Tested-by: Lukasz Luba <lukasz.luba@xxxxxxx> > > > > --- > > include/linux/energy_model.h | 14 +++++++++++--- > > 1 file changed, 11 insertions(+), 3 deletions(-) > > > > diff --git a/include/linux/energy_model.h b/include/linux/energy_model.h > > index b9caa01dfac4..1b0c8490d4bd 100644 > > --- a/include/linux/energy_model.h > > +++ b/include/linux/energy_model.h > > @@ -204,6 +204,14 @@ struct em_perf_state *em_pd_get_efficient_state(struct em_perf_domain *pd, > > return ps; > > } > > > > +#ifndef arch_scale_freq_ref > > +static __always_inline > > +unsigned int arch_scale_freq_ref(int cpu) > > +{ > > + return 0; > > +} > > +#endif > > Hmm, did I not see the exact same thing in cpufreq.h two patches ago? Probably, this has been added because of error returned by some allyes/randconfig on x86 > > _______________________________________________ > linux-riscv mailing list > linux-riscv@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-riscv