[Libvir] [PATCH] finish NUMA code reorg, plug cpuset at creat time support
veillard at redhat.com
Wed Oct 24 09:12:42 UTC 2007
On Wed, Oct 24, 2007 at 04:38:50PM +0900, Saori Fukuta wrote:
> On Tue, 23 Oct 2007 05:29:21 -0400 Daniel Veillard wrote:
> > On Tue, Oct 23, 2007 at 04:07:34PM +0900, Saori Fukuta wrote:
> > > On Mon, 22 Oct 2007 12:39:50 -0400 Daniel Veillard wrote:
> > > > The following patch finishes the cleanup for NUMA parsing code:
> > > > - the cpuset parsing is moved to xml.c
> > > > - some comments and cleanups of the include
> > > > then add the output of a (cpus '...') line based on the /domain/vcpu/@cpuset
> > > > attributes, this is parsed and reserialized as ranges to avoid any possibility
> > > > of misinterpretation of say ^ or any special syntax we may want to add in
> > > > the future.
> > > > A few things to note:
> > > > - dependant on the tiny patch I sent earlier today
> > > > - if we notice that the set covers all CPU maybe we should
> > > > avoid outputing (cpus '...'), trivial to add
> > > > - mostly untested yet
> > >
> > > I think we also need to fix for "start/define/dumpxml".
> > > So, I attached the patch for them. Could you check it ?
> > Okay, I looked at it, the only worry I have is that it takes the
> > cpus values as emitted in the S-Expr and output it directly in the XML.
> > I guess it really depends how xend exports this information, reading
> > the code it seems they only generate a comma separated CPU list on output
> > (in which case reusing libvirt parsing/serialization to compact it to
> > ranges would be nicer), but I don't have machines with enough CPUs to
> > really see this, could you have a lookm before I check this in ?
> Well, it may not be good idea to emit the S-Expr directly to output
> as you are worried.
> I confirmed how I can get the cpus values at fedora8(xen-3.1.0-10.fc8),
> and I expected to be emitted "(cpus '0,1')", when I specified
> "cpuset='0,1'". But xend shows nothing about cpus.
Right don't assume it's there on output of the xend S-Expr for that
domain, look at xm info --long it doesn't show it. To extract the cpuset
you need to call the existing functionalities we have for the vcpu
affinities (and this may be a bit costly).
> Then, I could not get the cpus values by sexpr_node(root, "domain/cpus").
> I guess this is a bug of Xen, and this has not been fixed with latest
> upstream Xen. So I will work about this for Xen before discussing about
> how xend exports.
It was never in xen and I think teh new way being based on Xen-API you
won't get a fix for upstream for our case here. I would not expect a fix
to xend to get the solution but work it out in libvirt, but you can try ...
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard at redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
More information about the libvir-list