[Skiboot] [PATCH] SLW: Remove stop1_lite and stop2_lite
Nicholas Piggin
npiggin at gmail.com
Tue May 15 17:21:04 AEST 2018
On Tue, 15 May 2018 12:08:31 +0530
Akshay Adiga <akshay.adiga at linux.vnet.ibm.com> wrote:
> On Thu, May 10, 2018 at 02:15:57PM +0530, Akshay Adiga wrote:
> > Lite states don't give up the SMT resources, can potentially have a
> > performance impact on sibling threads. At latencies of stop1_lite
> > and stop2_lite , lite states dont make sense and can have
> > performance impact.
> >
> > Signed-off-by: Akshay Adiga <akshay.adiga at linux.vnet.ibm.com>
> > ---
> > hw/slw.c | 29 +----------------------------
> > 1 file changed, 1 insertion(+), 28 deletions(-)
> >
> > diff --git a/hw/slw.c b/hw/slw.c
> > index c059d9c..513be7b 100644
> > --- a/hw/slw.c
> > +++ b/hw/slw.c
> > @@ -529,20 +529,7 @@ static struct cpu_idle_states
> > power9_cpu_idle_states[] = { | OPAL_PM_PSSCR_ESL \
> > | OPAL_PM_PSSCR_EC,
> > .pm_ctrl_reg_mask = OPAL_PM_PSSCR_MASK },
> > - {
> > - .name = "stop1_lite", /* Enter stop1 with no state
> > loss */
> > - .latency_ns = 4900,
> > - .residency_ns = 49000,
> > - .flags = 0*OPAL_PM_DEC_STOP \
> > - | 0*OPAL_PM_TIMEBASE_STOP \
> > - | 0*OPAL_PM_LOSE_USER_CONTEXT \
> > - | 0*OPAL_PM_LOSE_HYP_CONTEXT \
> > - | 0*OPAL_PM_LOSE_FULL_CONTEXT \
> > - | 1*OPAL_PM_STOP_INST_FAST,
> > - .pm_ctrl_reg_val = OPAL_PM_PSSCR_RL(1) \
> > - | OPAL_PM_PSSCR_MTL(3) \
> > - | OPAL_PM_PSSCR_TR(3),
> > - .pm_ctrl_reg_mask = OPAL_PM_PSSCR_MASK },
> > +
> > {
> > .name = "stop1",
> > .latency_ns = 5000,
> > @@ -560,20 +547,6 @@ static struct cpu_idle_states
> > power9_cpu_idle_states[] = { | OPAL_PM_PSSCR_EC,
> > .pm_ctrl_reg_mask = OPAL_PM_PSSCR_MASK },
> > {
> > - .name = "stop2_lite", /* Enter stop2 with no state
> > loss */
> > - .latency_ns = 9900,
> > - .residency_ns = 99000,
> > - .flags = 0*OPAL_PM_DEC_STOP \
> > - | 0*OPAL_PM_TIMEBASE_STOP \
> > - | 0*OPAL_PM_LOSE_USER_CONTEXT \
> > - | 0*OPAL_PM_LOSE_HYP_CONTEXT \
> > - | 0*OPAL_PM_LOSE_FULL_CONTEXT \
> > - | 1*OPAL_PM_STOP_INST_FAST,
> > - .pm_ctrl_reg_val = OPAL_PM_PSSCR_RL(2) \
> > - | OPAL_PM_PSSCR_MTL(3) \
> > - | OPAL_PM_PSSCR_TR(3),
> > - .pm_ctrl_reg_mask = OPAL_PM_PSSCR_MASK },
> > - {
> > .name = "stop2",
> > .latency_ns = 10000,
> > .residency_ns = 100000,
> > --
> > 2.5.5
> >
>
> This is a followup on the previous patch :
> https://patchwork.ozlabs.org/patch/906582/
>
> Nick,Stewart does this look good ?
>
Yes I think so. The rest we can look at tuning with Linux and dt
parameters, but I think this should avoid most of the pathological
cases and work with existing kernels, without overly hard coding
policy.
I would add a comment as to why we're leaving those states out
though.
Thanks,
Nick
More information about the Skiboot
mailing list