On Fri, Sep 28, 2007 at 12:06:24AM -0400, beth kon wrote:
I have tested the patches on a NUMA and a non-NUMA configuration, and
they fundamentally appear to work. The first patch is for accessing
available memory on a per-node basis.
The second patch is for accessing NUMA node topology. I've gotten some
helpful suggestions about my string parsing code, introducing me to
sscanf :-). I've become convinced that there are more elegant ways to do
this which would have about the same level of error checking. However, I
am out of time if Daniel wants to check this in this week. So I offer
what I do have, which functions, but is not elegant. I have been playing
with other ways to do this and am not far from finished. So, Daniel, you
need to tell me if you want to take this code, and possibly upgrade to
something more compact later, or if you'd like to wait for the next
revision.
At this point I won't be too picky about parsing the xend output for
the NUMA topology, as long as it works and is tested and has no obvious
hole that's good enough.
So I have commited the 4 patches to CVS:
- my initial patch
- your 2 patches
- the virsh freecell extension
I had to clean up a few things for example the warnings raised by Rich,
added the new call to the exported symbol list in the library, extended
the virsh man page and added the new call to the entry point list support
page.
However I think there is at least a few things still left to be done
before pushing this in a new release:
- if possible get remote operations for the new call
- a bit more testing for example I found out
virsh # freecell 0
0: 64339968 kB
virsh # freecell
Total: 64339968 kB
virsh # freecell 1
libvir: Xen error : invalid argument in xenHypervisorNodeGetCellsFreeMemory: invalid
argument
virsh # freecell -1
Total: 64339968 kB
virsh # freecell -2
-2: 0 kB
we should probably see an error in the last 2 case instead
- isolate as a separate call what is the total sum of free memory available
on the Node
- on NUMA boxes in the capability dump I would like to see the
amount of memory available on the cell see
https://www.redhat.com/archives/libvir-list/2007-September/msg00015.html
<memory size='2097152'/>
in the topology example.
- now that the code is in CVS reorganize a bit for example move back generic
code to xen_unified.c
Anyway it looks like we are in good shape,
thanks a lot !
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/