This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH 2/3] xend: Add multiple cpumasks support

To: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 2/3] xend: Add multiple cpumasks support
From: Ryan Harper <ryanh@xxxxxxxxxx>
Date: Mon, 14 Aug 2006 17:20:21 -0500
Cc: Ryan Grimm <grimm@xxxxxxxxxx>, Ryan Harper <ryanh@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 14 Aug 2006 15:21:32 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <A95E2296287EAD4EB592B5DEEFCE0E9D5723C5@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <A95E2296287EAD4EB592B5DEEFCE0E9D5723C5@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
* Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx> [2006-08-14 17:04]:
> > Are you interested in the multi cpumask approach?  
> Yes: it certainly doesn't hurt to have that flexibility. 
> > If so any thoughts on how
> > you'd like to see multiple cpumasks in the config file?
> Either Keir's cpu[X] = "Y" approach or my cpu = [ "A","B","C" ] approach
> seem workable.

Your last email seemed to indicate to me that you didn't like using
quoted values in a list to separate per-vcpu cpumask values.  Maybe I
was mistaken.

> Keir's approach is rather ill defined if someone tries using both cpu=
> and cpu[X]= in the same config file, but I don't see that as a big
> problem.  Take your pick :-)

I'm leaning toward the list notation since I already have code that
parses that properly.

> BTW: does the right thing happen in the face of vcpu hot plugging? i.e.
> if I unplug a vcpu and put it back in do I keep the old mask? If I add
> vcpus what mask do they get?

unplug events only affect a vcpu's status.  The internal struct
vcpu in the hypervisor is not de-allocated/re-allocated during hotplug

We don't currently support a hotadd for vcpus that weren't allocated at
domain creation time.  The current method for simulating hot-add would
be to start a domain with 32 VCPUS and disable all by the number of
vcpus you currently want.  Ryan Grimm posted a patch back in February
that had xend do this by adding a new config option, max_vcpus, which
was used when calling xc_domain_max_vcpus() having the hypervisor alloc
that max number of vcpus and then using the vcpus parameter to determine
how many to bring online.

> We should probably add a 'vcpu-pin' variant that enables the mask to be
> set for all vcpus. Perhaps '-1' for the vcpu number? Or should we add
> 'vcpu-pin-all'?

vcpu-pin using -1 is probably the quickest, least intrusive method to
get this behavior.  We could also use a keyword, all for instance:

xm vcpu-pin vm1 all 0-4,^5 

> [secondly, what do you think about implicitly defaulting the mask to all
> 1's if the first item in a cpu mask is an exclusion? e.g. ^1] 

That makes sense.  I'll include a patch in the set to add this behavior.

Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253   T/L: 678-9253

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>