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

From: Peter Zijlstra <[email-masked]>
Date: Wed, 16 Sep 2009 19:22:35 +0200

On Wed, 2009-09-16 at 22:33 +0530, Vaidyanathan Srinivasan wrote:
> * Peter Zijlstra <[email-masked]> [2009-09-16 18:35:16]:
> 
> > On Wed, 2009-09-16 at 21:54 +0530, Dipankar Sarma wrote:
> > 
> > > No, for this specific case, latency isn't an issue. The issue is -
> > > how do we cede unused vcpus to hypervisor for better energy management ?
> > > Yes, it can be done by a hypervisor manager telling the kernel to
> > > offline and make a bunch of vcpus "inactive". It does have to choose
> > > offline (release vcpu) vs. inactive (cede but guranteed if needed).
> > > The problem is that long ago we exported a lot of hotplug stuff to
> > > userspace through the sysfs interface and we cannot do something
> > > inside the kernel without keeping the sysfs stuff consistent.
> > > This seems like a sane way to do that without undoing all the
> > > virtual cpu hotplug infrastructure in different supporting archs.
> > 
> > I'm still not getting it..
> > 
> > Suppose we have some guest, it booted with 4 cpus.
> > 
> > We then offline 2 of them.
> > 
> > Apparently this LPAR binds guest cpus to physical cpus?
> > So we use a hypervisor interface to reclaim these 2 offlined cpus and
> > re-assign them to some other guest.
> > 
> > So far so good, right?
> > 
> > Now if you were to try and online the cpus in the guest, it'd fail
> > because the cpus aren't backed anymore, and the hot-plug simply
> > times-out and fails.
> > 
> > And we're still good, right?
> 
> The requirement differ here.  If we had offlined 2 vCPUs for the
> purpose of system reconfiguration, the expected behavior with offline
> interface will work right.  However the proposed cede interface is
> needed when we want them to temporarily go away but still come back
> when we do an online.  We want the online to always succeed since the
> backing physical resources are not relinquished.  The proposed
> interface facilitates offline without relinquishing the physical
> resources assigned to LPARs.

Then make that the platform default and leave the lpar management to
whatever pokes at the lpar?