All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: dipankar@in.ibm.com, Gautham R Shenoy <ego@in.ibm.com>,
	Joel Schopp <jschopp@austin.ibm.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Balbir Singh <balbir@in.ibm.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Arun R Bharadwaj <arun@linux.vnet.ibm.com>,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
	"Darrick J. Wong" <djwong@us.ibm.com>
Subject: Re: [PATCH v3 0/3] cpu: pseries: Cpu offline states framework
Date: Wed, 16 Sep 2009 22:33:14 +0530	[thread overview]
Message-ID: <20090916170314.GH15538@dirshya.in.ibm.com> (raw)
In-Reply-To: <1253118916.7180.6.camel@laptop>

* Peter Zijlstra <a.p.zijlstra@chello.nl> [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.

--Vaidy


WARNING: multiple messages have this Message-ID (diff)
From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Gautham R Shenoy <ego@in.ibm.com>,
	linux-kernel@vger.kernel.org,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Arun R Bharadwaj <arun@linux.vnet.ibm.com>,
	linuxppc-dev@lists.ozlabs.org,
	"Darrick J. Wong" <djwong@us.ibm.com>
Subject: Re: [PATCH v3 0/3] cpu: pseries: Cpu offline states framework
Date: Wed, 16 Sep 2009 22:33:14 +0530	[thread overview]
Message-ID: <20090916170314.GH15538@dirshya.in.ibm.com> (raw)
In-Reply-To: <1253118916.7180.6.camel@laptop>

* Peter Zijlstra <a.p.zijlstra@chello.nl> [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.

--Vaidy

  reply	other threads:[~2009-09-16 17:03 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-15 12:06 [PATCH v3 0/3] cpu: pseries: Cpu offline states framework Gautham R Shenoy
2009-09-15 12:07 ` [PATCH v3 1/3] pSeries: cede latency specifier helper function Gautham R Shenoy
2009-09-15 14:45   ` Daniel Walker
2009-09-15 14:45     ` Daniel Walker
2009-09-15 12:07 ` [PATCH v3 2/3] cpu: Offline state Framework Gautham R Shenoy
2009-09-30 17:31   ` Randy Dunlap
2009-09-30 17:31     ` Randy Dunlap
2009-09-15 12:07 ` [PATCH v3 3/3] cpu: Implement cpu-offline-state callbacks for pSeries Gautham R Shenoy
2009-09-15 12:11 ` [PATCH v3 0/3] cpu: pseries: Cpu offline states framework Peter Zijlstra
2009-09-15 12:11   ` Peter Zijlstra
2009-09-15 13:21   ` Michael Ellerman
2009-09-15 14:58   ` Balbir Singh
2009-09-15 14:58     ` Balbir Singh
2009-09-16  7:48     ` Heiko Carstens
2009-09-16  7:48       ` Heiko Carstens
2009-09-24  0:52       ` Benjamin Herrenschmidt
2009-09-24  0:52         ` Benjamin Herrenschmidt
2009-09-16 15:28   ` Dipankar Sarma
2009-09-16 15:28     ` Dipankar Sarma
2009-09-16 15:32     ` Peter Zijlstra
2009-09-16 15:32       ` Peter Zijlstra
2009-09-16 16:24       ` Dipankar Sarma
2009-09-16 16:24         ` Dipankar Sarma
2009-09-16 16:35         ` Peter Zijlstra
2009-09-16 16:35           ` Peter Zijlstra
2009-09-16 17:03           ` Vaidyanathan Srinivasan [this message]
2009-09-16 17:03             ` Vaidyanathan Srinivasan
2009-09-16 17:22             ` Peter Zijlstra
2009-09-16 17:22               ` Peter Zijlstra
2009-09-16 20:17               ` Dipankar Sarma
2009-09-16 20:17                 ` Dipankar Sarma
2009-09-24  0:55         ` Benjamin Herrenschmidt
2009-09-24  0:55           ` Benjamin Herrenschmidt
2009-09-24  0:51   ` Benjamin Herrenschmidt
2009-09-24  0:51     ` Benjamin Herrenschmidt
2009-09-25 14:48     ` Peter Zijlstra
2009-09-25 14:48       ` Peter Zijlstra
2009-09-25 21:12       ` Benjamin Herrenschmidt
2009-09-25 21:12         ` Benjamin Herrenschmidt
2009-09-28 13:53         ` Vaidyanathan Srinivasan
2009-09-28 13:53           ` Vaidyanathan Srinivasan
2009-09-28 13:51       ` Vaidyanathan Srinivasan
2009-09-28 13:51         ` Vaidyanathan Srinivasan
2009-09-26  9:55   ` Pavel Machek
2009-09-26  9:55     ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090916170314.GH15538@dirshya.in.ibm.com \
    --to=svaidy@linux.vnet.ibm.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=arun@linux.vnet.ibm.com \
    --cc=balbir@in.ibm.com \
    --cc=benh@kernel.crashing.org \
    --cc=dipankar@in.ibm.com \
    --cc=djwong@us.ibm.com \
    --cc=ego@in.ibm.com \
    --cc=jschopp@austin.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=venkatesh.pallipadi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.