[Skiboot] [PATCH] hw/slw.c: Offline code still uses p8 bits

Gautham R Shenoy ego at linux.vnet.ibm.com
Fri Sep 15 19:38:16 AEST 2017


Hi Balbir,


On Fri, Sep 15, 2017 at 10:28:36AM +0530, Vaidyanathan Srinivasan wrote:
> * Balbir Singh <bsingharora at gmail.com> [2017-09-15 14:42:39]:
> 
> > I'm seeing an infinite loop while hot unplugging
> > a CPU. This is a workaround till we do the right
> > things for p9. May be a candidate for backporting
> > 
> > The messages I see in an infinite loop are:
> > 
> > [  740.250192896,3] LIBPORE: Core ID = 20 is not within valid range of [0;15]
> > [  740.250230176,3] SLW: Failed to set spr for CPU 51
> > 
> > When trying to hotunplug core id 20. For now the
> > patch just skips calling p8_pore* on p9 machines.
> 
> STOP-API support in OPAL is provided by this patch set.
> 
> https://lists.ozlabs.org/pipermail/skiboot/2017-August/008700.html
> [Skiboot] [PATCH v3 0/7] Enable stop4 idle state

The following patch for hardening the kernel side to not call the
stop-api when deep states are not supported fixes the issue:
https://patchwork.ozlabs.org/patch/808233/

The issue is because when the stop-api support is found to be lacking,
the linux kernel commit 785a12afdb4a ("powerpc/powernv/idle: Disable
LOSE_FULL_CONTEXT states when stop-api fails") disables deep states
that lose hypervisor context. Thus in this case, the offlined CPU will
be put to some shallow idle state.

If a shallow state ( < stop4 ) is being chosen for cpu hotplug, then
we shouldn't be calling the stop-api, because
1) this opal call is not required.
2) may not be supported.

Could you see if this patch works for you?

> 
> We had a change to push to CCAN and that is resolved now.
> 
> --Vaidy
> 
> _______________________________________________
> Skiboot mailing list
> Skiboot at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot



More information about the Skiboot mailing list