
On Fri, Jan 12, 2007 at 02:42:13PM +0100, Philippe Berthault wrote:
Daniel P. Berrange a écrit :
On Fri, Jan 12, 2007 at 11:47:16AM +0100, Philippe Berthault wrote:
The maxMem field of the virDomainInfo structure is given in bytes instead of Kbytes when the domain is 0 (Domain-0). With others domains, the value of maxMem is correct.
Exemple with virsh: On a system with 4 GB memory, virsh reports: # virsh dominfo 0 ... Max memory: 4294967292 kB
With the same libvirt version 0.1.9 but with an older Xen (not 3.0.3), the maxMem value of Domain-0 is correct.
This sounds like a bug in Xen, rather than a bug in libvirt - we don't have any special handling for Domain-0 - we're just passing back through whatever data we get from Xen.
Dan.
This problem seems to be caused by a missing initialization (in Xen or libvirt ? to be determined) because after setting the system memory size by using the "xm mem-max" command on Domain-0, the Max memory value returned by virsh is correct and reflect the value passed to the xm command.
This problem of incoherent maxMem value on Domain-0 has been detected after a system reboot.
I think Xen just returns -1 when the field is uninitialized, probably meaning 'all physical memory'. Once you use "xm mem-max 0 ..." then it consider the Dom0 domain constrained, but not before. And since there are machine where it's possible to hot plug new memory this is a way to not poll the current physical memory, a bit weird but that can be understood. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/