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(a)redhat.com | libxml GNOME XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine
http://rpmfind.net/