Folks,
We are running openstack with KVM and i have noticed kvm presenting
wrong CPU Tolopoly to VM and because of that we are seeing bad
performance to our application.
This is openstack compute:
# lstopo-no-graphics --no-io
Machine (64GB total)
NUMANode L#0 (P#0 32GB) + Package L#0 + L3 L#0 (25MB)
L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
PU L#0 (P#0)
PU L#1 (P#20)
L2 L#1 (256KB) + L1d L#1 (32KB) + L1i L#1 (32KB) + Core L#1
PU L#2 (P#1)
PU L#3 (P#21)
This is VM running on above compute
# lstopo-no-graphics --no-io
Machine (59GB total)
NUMANode L#0 (P#0 29GB) + Package L#0 + L3 L#0 (16MB)
L2 L#0 (4096KB) + Core L#0
L1d L#0 (32KB) + L1i L#0 (32KB) + PU L#0 (P#0)
L1d L#1 (32KB) + L1i L#1 (32KB) + PU L#1 (P#1)
L2 L#1 (4096KB) + Core L#1
L1d L#2 (32KB) + L1i L#2 (32KB) + PU L#2 (P#2)
L1d L#3 (32KB) + L1i L#3 (32KB) + PU L#3 (P#3)
if you noticed P#0 and P#1 has own (32KB) cache per thread that is
wrong presentation if you compare with physical CPU.
This is a screenshot of AWS vs Openstack CPU Topology and looking at
openstack its presentation is little odd, is that normal?
https://imgur.com/a/2sPwJVC
I am running CentOS7.6 with kvm 2.12 version.