The cause is: when defining VM with multiple CPU sockets, we have to specifically set "numa" properties as follow in <cpu> </cpu> session (see my xml for a complete controller config file)
otherwise, NUMA node won't be correctly handled by Linux. In such a case, there will be only one node indicated in "/sys/devices/system/node/node%d". As well "lscpu" won't tell the correct NUMA node(s) info.
And missing correct node%d results in a failure in "memtop", which is used to learn available memory for variable "platform_res_mem".
I made a test with the correct QEMU-KVM config, and STX worked well with 2 sockets for VM.
The cause is: when defining VM with multiple CPU sockets, we have to specifically set "numa" properties as follow in <cpu> </cpu> session (see my xml for a complete controller config file)
<numa>
<cell id='0' cpus='0-2' memory='8' unit='GiB'/>
<cell id='1' cpus='4-6' memory='8' unit='GiB'/>
</numa>
otherwise, NUMA node won't be correctly handled by Linux. In such a case, there will be only one node indicated in "/sys/devices/ system/ node/node% d". As well "lscpu" won't tell the correct NUMA node(s) info.
And missing correct node%d results in a failure in "memtop", which is used to learn available memory for variable "platform_res_mem".
I made a test with the correct QEMU-KVM config, and STX worked well with 2 sockets for VM.