Re: [v3 PATCH 2/3] powernv-cpufreq: Fix pstate_to_idx() to handle non-continguous pstates

From: Gautham R Shenoy
Date: Mon Dec 18 2017 - 03:38:35 EST


Hi Balbir,

On Sun, Dec 17, 2017 at 02:15:25PM +1100, Balbir Singh wrote:
> On Wed, Dec 13, 2017 at 5:57 PM, Gautham R. Shenoy
> <ego@xxxxxxxxxxxxxxxxxx> wrote:
> > From: "Gautham R. Shenoy" <ego@xxxxxxxxxxxxxxxxxx>
> >
> > The code in powernv-cpufreq, makes the following two assumptions which
> > are not guaranteed by the device-tree bindings:
> >
> > 1) Pstate ids are continguous: This is used in pstate_to_idx() to
> > obtain the reverse map from a pstate to it's corresponding
> > entry into the cpufreq frequency table.
> >
> > 2) Every Pstate should always lie between the max and the min
> > pstates that are explicitly reported in the device tree: This
> > is used to determine whether a pstate reported by the PMSR is
> > out of bounds.
> >
> > Both these assumptions are unwarranted and can change on future
> > platforms.
>
> While this is a good thing, I wonder if it is worth the complexity. Pstates
> are contiguous because they define transitions in incremental value
> of change in frequency and I can't see how this can be broken in the
> future?

In the future, we can have the OPAL firmware give us a smaller set of
pstates instead of expose every one of them. As it stands today, for
most of the workloads, we will need at best 20-30 pstates and not
beyond that.


>
> Balbir Singh.
>

--
Thanks and Regards
gautham.