[libvirt] virsh nodeinfo CPU detection questions

Eric Blake eblake at redhat.com
Tue Feb 5 23:37:36 UTC 2013


On 02/05/2013 04:34 AM, Peter Krempa wrote:
> 
> The data in the "nodeinfo" structure (retrirevable by "virsh nodeinfo")
> have to add up to the total number of processors in the host if you
> multiply all the fields. This is due to historic reasons.

Hmm - we document under virNodeInfo the cases where the return value
will not be ideal, as well as how to detect that issue:

struct _virNodeInfo {
    char model[32];       /* string indicating the CPU model */
    unsigned long memory; /* memory size in kilobytes */
    unsigned int cpus;    /* the number of active CPUs */
    unsigned int mhz;     /* expected CPU frequency */
    unsigned int nodes;   /* the number of NUMA cell, 1 for unusual NUMA
                             topologies or uniform memory access; check
                             capabilities XML for the actual NUMA
topology */
    unsigned int sockets; /* number of CPU sockets per node if nodes > 1,
                             1 in case of unusual NUMA topology */
    unsigned int cores;   /* number of cores per socket, total number of
                             processors in case of unusual NUMA topology*/
    unsigned int threads; /* number of threads per core, 1 in case of
                             unusual numa topology */
};

but the documentation for virNodeGetInfo could probably use a reminder
sentence (so that the problem is obvious just from the function
documentation, without having to chase through links to the struct
documentation).

> 
>>
>> Anyone else thoughts? Would this be acceptable? Right now the output
>> is broken and if you put any NUMA values into the XML or use numad the
>> domain will not start and will give a cryptic error message. Which is
>> a lot worst than reporting 4 sockets, 8 cores, 1 thread or 8 sockets,
>> 8 cores and 1 thread IMHO.
> 
> To get correct data, you have to use libvirt-1.0.2 with this script:
> 
> https://bugzilla.redhat.com/attachment.cgi?id=690965&action=edit

We should probably ship this script in the examples directory of
libvirt.git, and reference it more prominently from the documentation.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130205/ba581243/attachment-0001.sig>


More information about the libvir-list mailing list