Send libvirt-users mailing list submissions to
libvirt-users@redhat.com
To subscribe or unsubscribe via the World Wide Web, visit
https://www.redhat.com/mailman/listinfo/libvirt-users
or, via email, send a message with subject or body 'help' to
libvirt-users-request@redhat.com
You can reach the person managing the list at
libvirt-users-owner@redhat.com
When replying, please edit your Subject line so it is more specific
than "Re: Contents of libvirt-users digest..."
Today's Topics:
1. Finding out CPU topology. (Peeyush Gupta)
2. Re: Finding out CPU topology. (Daniel P. Berrange)
3. Re: Finding out CPU topology. (Peeyush Gupta)
Message: 1
Date: Tue, 17 Sep 2013 17:41:12 +0800 (SGT)
From: Peeyush Gupta <gpeeyush@ymail.com>
To:
"libvirt-users@redhat.com" <libvirt-users@redhat.com>
Subject: [libvirt-users] Finding out CPU topology.
Message-ID:
<1379410872.26498.YahooMailNeo@web194604.mail.sg3.yahoo.com>
Content-Type: text/plain; charset="iso-8859-1"
Hi all,
I have been trying to find out cpu topology using libvirt. When
I do 'virsh capabilites', I find this inside <topology> tag:
<topology>
? ? ? <cells num='1'>
? ? ? ? <cell id='0'>
? ? ? ? ? <memory unit='KiB'>3908488</memory>
? ? ? ? ? <cpus num='4'>
? ? ? ? ? ? <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
? ? ? ? ? ? <cpu id='1' socket_id='0' core_id='0' siblings='1'/>
? ? ? ? ? ? <cpu id='2' socket_id='0' core_id='1' siblings='2'/>
? ? ? ? ? ? <cpu id='3' socket_id='0' core_id='1' siblings='3'/>
? ? ? ? ? </cpus>
? ? ? ? </cell>
?!
? ?
</cells>
</topology>
But when I use the 'getCapbilities()' function of the python binding,
the result is:
<topology> ? ?
? <cells num='1'> ??
? ? ?<cell id='0'> ? ? ? ??
? ? ?<cpus num='4'> ??
? ? ? ?<cpu id='0'/>
? ? ? ?<cpu id='1'/>
? ? ? ?<cpu id='2'/>
? ? ? ?<cpu id='3'/> ? ? ? ??
? ? ?</cpus> ? ? ? ?
? ?</cell> ? ? ?
?</cells> ?
</topology>\n
As you can see this doesnt give any information about socket/core/thread etc.
What I an interested to know is that is it a limitation of python binding or libvirt
C API itself? How can I get the whole topology without just parsing the output
of virsh capabilities?
Thanks.
~Peeyush Gupta
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.redhat.com/archives/libvirt-users/attachments/20130917/ff834444/attachment.html>
Message: 2
Date: Tue, 17 Sep 2013 10:49:29 +0100
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Peeyush Gupta <gpeeyush@ymail.com>
Cc: "libvirt-users@redhat.com" <libvirt-users@redhat.com>
Subject: Re: [libvirt-users] Finding out CPU topology.
Message-ID: <20130917094929.GD28204@redhat.com>
Content-Type: text/plain; charset=utf-8
On Tue, Sep 17, 2013 at 05:41:12PM +0800, Peeyush Gupta wrote:
Hi all,
I have been trying to find out cpu topology using libvirt. When
I do 'virsh capabilites', I find this inside <topology> tag:
<topology>
? ? ? <cells num='1'>
? ? ? ? <cell id='0'>
? ? ? ? ? <memory unit='KiB'>3908488</memory>
? ? ? ? ? <cpus num='4'>
? ? ? ? ? ? <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
? ? ? ? ? ? <cpu id='1' socket_id='0' core_id='0' siblings='1'/>
? ? ? ? ? ? <cpu id='2' socket_id='0' core_id='1' siblings='2'/>
? ? ? ? ? ? <cpu id='3' socket_id='0' core_id='1' siblings='3'/>
? ? ? ? ? </cpus>
? ? ? ? </cell>
? ? ? </cells>
</topology>
But when I use the 'getCapbilities()' function of the python binding,
the result is:
<topology> ? ?
? <cells num='1'> ??
? ? ?<cell id='0'> ? ? ? ??
? ? ?<cpus num='4'> ??
? ? ? ?<cpu id='0'/>
? ? ? ?<cpu id='1'/>
? ? ? ?<cpu id='2'/>
? ? ? ?<cpu id='3'/> ? ? ? ??
? ? ?</cpus> ? ?!
? ?
? ?</cell> ? ? ?
?</cells> ?
</topology>\n
As you can see this doesnt give any information about socket/core/thread etc.
What I an interested to know is that is it a limitation of python binding or libvirt
C API itself? How can I get the whole topology without just parsing the output
of virsh capabilities?
Did you really run these two examples on the same machine, with the same
libvirt URI ? Both virsh and the python binding call the same libvirt API
'virConnectGetCapabilities' so will return the same data if run against
the same libvirt. The socket_id, core_id and siblings data is a relatively
new feature we added, so older libvirt won't show it.
Daniel