All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [PATCH] libxl: Make 'xl vcpu-set' work properly on overcommited hosts.
Date: Wed, 8 May 2013 20:09:43 +0100	[thread overview]
Message-ID: <1368040183.3756.17.camel@dagon.hellion.org.uk> (raw)
In-Reply-To: <20130508170515.GA1184@phenom.dumpdata.com>

On Wed, 2013-05-08 at 18:05 +0100, Konrad Rzeszutek Wilk wrote:
> On Wed, May 08, 2013 at 05:49:34PM +0100, Ian Campbell wrote:
> > On Wed, 2013-05-08 at 17:35 +0100, Konrad Rzeszutek Wilk wrote:
> > > On Wed, May 08, 2013 at 04:04:53PM +0100, Ian Campbell wrote:
> > > > On Wed, 2013-05-08 at 15:29 +0100, Konrad Rzeszutek Wilk wrote:
> > > > > On Wed, May 08, 2013 at 11:46:39AM +0100, Ian Campbell wrote:
> > > > > > On Wed, 2013-05-08 at 11:32 +0100, George Dunlap wrote:
> > > > > > > On Tue, May 7, 2013 at 9:40 PM, Konrad Rzeszutek Wilk
> > > > > > > <konrad.wilk@oracle.com> wrote:
> > > > > > > > The libxl_cpu_bitmap_alloc(..) function, if provided with a zero
> > > > > > > > value for max CPUs will call xc_get_max_cpus() which will retrieve
> > > > > > > > the number of physical CPUs the host has. This is usually
> > > > > > > > OK if the guest's maxvcpus <= host pcpus. But if the value
> > > > > > > > is different, then the bitmap for VCPUs is limited by the
> > > > > > > > number of CPUs the host has.
> > > > > > > >
> > > > > > > > This is incorrect as what we want is to hotplug in the guest
> > > > > > > > the amount of CPUs that the user specified on the command line
> > > > > > > > and not be limited by the amount of physical CPUs.
> > > > > > > >
> > > > > > > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > > > > > > 
> > > > > > > Given the cost/benefits of this, I'm inclined to say this should wait
> > > > > > > until the 4.4 window opens.  Having more guest vcpus than host pcpus
> > > > > > > is not an urgent need, and there is a chance (however small) of this
> > > > > > > exposing some other kind of bug.
> > > > > > 
> > > > > > Not disputing this.
> > > > > > 
> > > > > > I imagine the desire is to add vcpus to a guest after migrating to a
> > > > > > larger host. If so then this should be in the commit log because you are
> > > > > > right that as the commit message currently stands the immediate response
> > > > > > is "why on earth..."
> > > > > 
> > > > > > 
> > > > > > My only other concern would be that the existing code has a buffer
> > > > > > overrun under these circumstances. I've not checked this either.
> > > > > 
> > > > > No over-runs, but this is a regression compared to Xend.
> > > > 
> > > > >From your updated description it seems like if you migrated to a larger
> > > > host you could indeed plug more VCPUS, up to the limit on that host, is
> > > > that right?
> > > > 
> > > > If that's the case then it sounds to me as if the xl behaviour is
> > > > actually an improvement over xend's, except perhaps for some slightly
> > > > niche test scenarios.
> > > 
> > > Well, overcommit comes in mind. Say you migrate to a 4PCPU box and you
> > > have 12VCPUs, then you decide to go down to 4, then back to 16 before
> > > migrating it to some other box. Can't do.
> > 
> > You could do it *after* the migration back to a 16 way box n stead of
> > before though, which is most likely when you would actually want to do
> > it...
> 
> I am kind of lost. Are we arguing for this being a bug or whether there is
> justification for putting in Xen 4.3?

The former needs deciding before the latter.

I'm not convinced that the current xl behaviour of refusing to
overcommit VCPUs on a host isn't the right one for the majority of use
cases. Obviously the silently refusing bit is a bug which should be
fixed.

I don't buy that this is a "regression compared to Xend". It's certainly
a difference from how xend behaved but it seems on the whole to be a
positive one (i.e. xend was wrong).

Can you explain the use case for wanting to do this? I don't think the
migration one you give above is very convincing since a normal user
wouldn't want to overcommit on the source host, they would want to
migrate and then increase the number of vcpus, without ever
overcommitting, and therefore without the terrible performance of
overcommitting.

A compromise might be a non-default option to allow users to force
overcommit but to otherwise deny it.

Ian.

  reply	other threads:[~2013-05-08 19:09 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-07 20:40 [PATCH] libxl: Make 'xl vcpu-set' work properly on overcommited hosts Konrad Rzeszutek Wilk
2013-05-08 10:32 ` George Dunlap
2013-05-08 10:46   ` Ian Campbell
2013-05-08 14:29     ` Konrad Rzeszutek Wilk
2013-05-08 15:04       ` Ian Campbell
2013-05-08 16:04         ` Ian Jackson
2013-05-08 16:35         ` Konrad Rzeszutek Wilk
2013-05-08 16:49           ` Ian Campbell
2013-05-08 17:05             ` Konrad Rzeszutek Wilk
2013-05-08 19:09               ` Ian Campbell [this message]
2013-05-08 22:39                 ` Konrad Rzeszutek Wilk
2013-05-09  8:43                   ` Ian Campbell
2013-05-09  9:09                   ` George Dunlap
2013-05-09 13:13                     ` Konrad Rzeszutek Wilk
2013-05-09 13:59                       ` George Dunlap
2013-05-10 18:05                         ` Ian Jackson
2013-05-13  5:00                   ` Juergen Gross
2013-05-08 16:03       ` Ian Jackson
2013-05-10 19:35         ` Konrad Rzeszutek Wilk
2013-05-13 14:02           ` Ian Jackson
2013-05-08 11:58   ` Ian Jackson

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=1368040183.3756.17.camel@dagon.hellion.org.uk \
    --to=ian.campbell@citrix.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=konrad.wilk@oracle.com \
    --cc=xen-devel@lists.xensource.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.