Okay, I got some answer myself.

 

<topology sockets='1' cores='18' threads='2'/>

 

This indicate the topology in one of a numa node. But what if I want to get the node’s physical socket number?

 

 

Best Regards

 

Eli Qiao(乔立勇)OpenStack Core team OTC Intel.

-- 

 

 

From: "Qiao, Liyong" <liyong.qiao@intel.com>
Date: Wednesday, 11 January 2017 at 2:52 PM
To: "libvir-list@redhat.com" <libvir-list@redhat.com>
Cc: "Daniel P. Berrange" <berrange@redhat.com>
Subject: Paradox cpu topology in capabilities outputs

 

Hi,

 

I observe that virsh capabilities give wrong cpu topology on a multiple sockets host

 

taget@jfz1r04h13:~/libvirt$ lscpu

Architecture:          x86_64

CPU op-mode(s):        32-bit, 64-bit

Byte Order:            Little Endian

CPU(s):                72

On-line CPU(s) list:   0-71

Thread(s) per core:    2

Core(s) per socket:    18

Socket(s):             2 ß----------------------

NUMA node(s):          2

Vendor ID:             GenuineIntel

CPU family:            6

Model:                 63

Model name:            Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz

Stepping:              2

CPU MHz:               1201.660

CPU max MHz:           3600.0000

CPU min MHz:           1200.0000

BogoMIPS:              4590.78

Virtualization:        VT-x

L1d cache:             32K

L1i cache:             32K

L2 cache:              256K

L3 cache:              46080K

NUMA node0 CPU(s):     0-17,36-53

NUMA node1 CPU(s):     18-35,54-71

 

But output of virsh capabilities only gives.

 

<topology sockets='1' cores='18' threads='2'/>

 

looking into code and got this:

https://libvirt.org/git/?p=libvirt.git;a=blob;f=src/util/virhostcpu.c;h=f29f3122acee018b9fd7dca06fd7ae1fc118b210;hb=HEAD#l703

 

should we change it into

 

704             *sockets  += nodesockets;

 

 

This also affect nodeinfo.sockets.

 

Attached file is the full output of capabilities of the host

 

Best Regards

 

Eli Qiao(乔立勇)OpenStack Core team OTC Intel.

--