
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