Re: [PATCH v3 0/3] cpu: pseries: Cpu offline states framework

Heiko Carstens
2009-09-16T07:49:17Z

On Tue, Sep 15, 2009 at 08:28:34PM +0530, Balbir Singh wrote:
> * Peter Zijlstra <a.p.zijlstra@chello.nl> [2009-09-15 14:11:41]:
>
> > On Tue, 2009-09-15 at 17:36 +0530, Gautham R Shenoy wrote:
> > > This patchset contains the offline state driver implemented for
> > > pSeries. For pSeries, we define three available_hotplug_states. They are:
> > >
> > > online: The processor is online.
> > >
> > > offline: This is the the default behaviour when the cpu is offlined
> > > even in the absense of this driver. The CPU would call make an
> > > rtas_stop_self() call and hand over the CPU back to the resource pool,
> > > thereby effectively deallocating that vCPU from the LPAR.
> > > NOTE: This would result in a configuration change to the LPAR
> > > which is visible to the outside world.
> > >
> > > inactive: This cedes the vCPU to the hypervisor with a cede latency
> > > specifier value 2.
> > > NOTE: This option does not result in a configuration change
> > > and the vCPU would be still entitled to the LPAR to which it earlier
> > > belong to.
> > >
> > > Any feedback on the patchset will be immensely valuable.
> >
> > I still think its a layering violation... its the hypervisor manager
> > that should be bothered in what state an off-lined cpu is in.
> >
>
> From a design standpoint where we stand today is
>
> 1. A cede indicates that the CPU is no longer needed and can be
> reassigned (remember we do dedicated CPU partitions in power)
> 2. What this patch is trying to do is to say "We don't need the
> CPU, but please don't reassign, put it to sleep"

FWIW, this sounds exactly like the same we have already on s390.
But back then I didn't consider adding a common code infrastructure
would make sense :)

Besides the "online" attribute we have an additional "configure"
attribute to which can only be written if the cpu is offline.
Writing a "0" to it would mean that you currently won't need the cpu
anymore and the hypervisor is free to reassign the cpu to a different
LPAR.
Writing a "1" to it means you want to use it. If there are enough
resources you will get it. If not.. bad luck.