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 ...
Daniel
--
Red Hat Virtualization group
http://redhat.com/virtualization/
Daniel Veillard | virtualization library
http://libvirt.org/
veillard(a)redhat.com | libxml GNOME XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine
http://rpmfind.net/