Re: Problem with shared L2 cache

2010-01-22 Thread Gleb Natapov
On Fri, Jan 22, 2010 at 04:31:50PM +0200, Hristo Tomov wrote:
> Hello!
> 
> I have following problem with KVM. I have quad-core processor
> Xeon X7350 ( 8MB L2 cache ). The processor shares 4 MB L2 cache on two
> cores. By XEN emulation the guest system have 4 MB cache at disposal.
> 
Cache information is meaningless in virtual environment. Your
performance problem lies somewhere else. Trying -cpu host is a good idea
nevertheless.

--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Problem with shared L2 cache

2010-01-22 Thread RW
You can add the option "-cpu host" to KVM. Then you get
the same cache size information as your host has.

Robert


On 01/22/10 15:31, Hristo Tomov wrote:
> Hello!
> 
> I have following problem with KVM. I have quad-core processor
> Xeon X7350 ( 8MB L2 cache ). The processor shares 4 MB L2 cache on two
> cores. By XEN emulation the guest system have 4 MB cache at disposal.
> 
> xen guest: cat /proc/cpuinfo
> 
> processor: 3
> vendor_id: GenuineIntel
> cpu family: 6
> model: 15
> model name: Intel(R) Xeon(R) CPU   X7350  @ 2.93GHz
> stepping: 11
> cpu MHz: 2932.026
> cache size: 4096 KB
> fpu: yes
> fpu_exception: yes
> cpuid level: 10
> wp: yes
> flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
> mca cmov pat clflush dts mmx fxsr sse sse2 ss syscall nx lm
> constant_tsc pni ds_cpl cx16 xtpr lahf_lm
> bogomips: 5865.67
> clflush size: 64
> cache_alignment: 64
> address sizes: 40 bits physical, 48 bits virtual
> power management:
> 
>  By KVM in the guest system have 2 MB cache at disposal.
> 
> kvm guest: cat /proc/cpuinfo
> 
> processor   : 3
> vendor_id   : GenuineIntel
> cpu family  : 6
> model   : 6
> model name  : QEMU Virtual CPU version 0.9.1
> stepping: 3
> cpu MHz : 2932.026
> cache size  : 2048 KB
> fpu : yes
> fpu_exception   : yes
> cpuid level : 2
> wp  : yes
> flags   : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca
> cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx lm pni
> bogomips: 5861.69
> clflush size: 64
> cache_alignment : 64
> address sizes   : 40 bits physical, 48 bits virtual
> power management:
> 
> On specific loads with the same number of processors, this difference
> in the cache size leads to negative results. The productivity of the
> KVM virtual machine shows 2 - 5 times worse results in comparison with
> XEN virtual machine.
> 
> 
> Host:
> 
> cpu: Intel(R) Xeon(R) CPU   X7350  @ 2.93GHz
> os:   Centos 5.4 x86_64
> kvm:kvm-83-105.el5_4.13
> kernel:kernel-2.6.18-164.10.1.el5
> kernel arch:x86_64
> 
> Guest:
> 
> os:  Centos 5.4 x86_64
> qemu command: /usr/libexec/qemu-kvm -S -M pc -m 4096 -smp 4 -name
> centos -uuid 17136bf5-a7a3-0323-7e9b-90ec5aa06cdb
> -no-kvm-pit-reinjection -monitor pty -pidfile
> /var/run/libvirt/qemu//centos.pid -boot c -drive
> file=/kvm/centos.img,if=virtio,index=0,boot=on,cache=none -net
> nic,macaddr=52:54:00:43:81:4f,vlan=0,model=virtio -net
> tap,fd=14,script=,vlan=0,ifname=vnet0 -serial pty -parallel none -usb
> -vnc 127.0.0.1:0 -k en-us
> 
> Host CPU:
> processor: 0
> vendor_id: GenuineIntel
> cpu family: 6
> model: 15
> model name: Intel(R) Xeon(R) CPU X7350  @ 2.93GHz
> stepping: 11
> cpu MHz: 2931.962
> cache size: 4096 KB
> physical id: 3
> siblings: 4
> core id: 0
> cpu cores: 4
> apicid: 12
> fpu: yes
> fpu_exception: yes
> cpuid level: 10
> wp: yes
> flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
> mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall
> nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
> bogomips: 5863.92
> clflush size: 64
> cache_alignment: 64
> address sizes: 40 bits physical, 48 bits virtual
> power management:
> 
> processor: 1
> vendor_id: GenuineIntel
> cpu family: 6
> model: 15
> model name: Intel(R) Xeon(R) CPU   X7350  @ 2.93GHz
> stepping: 11
> cpu MHz: 2931.962
> cache size: 4096 KB
> physical id: 8
> siblings: 4
> core id: 0
> cpu cores: 4
> apicid: 32
> fpu: yes
> fpu_exception: yes
> cpuid level: 10
> wp: yes
> flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
> mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall
> nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
> bogomips: 5863.11
> clflush size: 64
> cache_alignment: 64
> address sizes: 40 bits physical, 48 bits virtual
> power management:
> 
> processor   : 2
> vendor_id   : GenuineIntel
> cpu family  : 6
> cpu family  : 6
> model   : 15
> model name  : Intel(R) Xeon(R) CPU   X7350  @ 2.93GHz
> stepping: 11
> cpu MHz : 2931.962
> cache size  : 4096 KB
> physical id : 4
> siblings: 4
> core id : 0
> cpu cores   : 4
> apicid  : 16
> fpu : yes
> fpu_exception   : yes
> cpuid level : 10
> wp  : yes
> flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
> mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall
> nx lm constant_tsc pni monitor ds_cpl vm
> x est 

Problem with shared L2 cache

2010-01-22 Thread Hristo Tomov
Hello!

I have following problem with KVM. I have quad-core processor
Xeon X7350 ( 8MB L2 cache ). The processor shares 4 MB L2 cache on two
cores. By XEN emulation the guest system have 4 MB cache at disposal.

xen guest: cat /proc/cpuinfo

processor: 3
vendor_id: GenuineIntel
cpu family: 6
model: 15
model name: Intel(R) Xeon(R) CPU   X7350  @ 2.93GHz
stepping: 11
cpu MHz: 2932.026
cache size: 4096 KB
fpu: yes
fpu_exception: yes
cpuid level: 10
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat clflush dts mmx fxsr sse sse2 ss syscall nx lm
constant_tsc pni ds_cpl cx16 xtpr lahf_lm
bogomips: 5865.67
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management:

 By KVM in the guest system have 2 MB cache at disposal.

kvm guest: cat /proc/cpuinfo

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model   : 6
model name  : QEMU Virtual CPU version 0.9.1
stepping: 3
cpu MHz : 2932.026
cache size  : 2048 KB
fpu : yes
fpu_exception   : yes
cpuid level : 2
wp  : yes
flags   : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx lm pni
bogomips: 5861.69
clflush size: 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

On specific loads with the same number of processors, this difference
in the cache size leads to negative results. The productivity of the
KVM virtual machine shows 2 - 5 times worse results in comparison with
XEN virtual machine.


Host:

cpu: Intel(R) Xeon(R) CPU   X7350  @ 2.93GHz
os:   Centos 5.4 x86_64
kvm:kvm-83-105.el5_4.13
kernel:kernel-2.6.18-164.10.1.el5
kernel arch:x86_64

Guest:

os:  Centos 5.4 x86_64
qemu command: /usr/libexec/qemu-kvm -S -M pc -m 4096 -smp 4 -name
centos -uuid 17136bf5-a7a3-0323-7e9b-90ec5aa06cdb
-no-kvm-pit-reinjection -monitor pty -pidfile
/var/run/libvirt/qemu//centos.pid -boot c -drive
file=/kvm/centos.img,if=virtio,index=0,boot=on,cache=none -net
nic,macaddr=52:54:00:43:81:4f,vlan=0,model=virtio -net
tap,fd=14,script=,vlan=0,ifname=vnet0 -serial pty -parallel none -usb
-vnc 127.0.0.1:0 -k en-us

Host CPU:
processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 15
model name: Intel(R) Xeon(R) CPU X7350  @ 2.93GHz
stepping: 11
cpu MHz: 2931.962
cache size: 4096 KB
physical id: 3
siblings: 4
core id: 0
cpu cores: 4
apicid: 12
fpu: yes
fpu_exception: yes
cpuid level: 10
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall
nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
bogomips: 5863.92
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management:

processor: 1
vendor_id: GenuineIntel
cpu family: 6
model: 15
model name: Intel(R) Xeon(R) CPU   X7350  @ 2.93GHz
stepping: 11
cpu MHz: 2931.962
cache size: 4096 KB
physical id: 8
siblings: 4
core id: 0
cpu cores: 4
apicid: 32
fpu: yes
fpu_exception: yes
cpuid level: 10
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall
nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
bogomips: 5863.11
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
cpu family  : 6
model   : 15
model name  : Intel(R) Xeon(R) CPU   X7350  @ 2.93GHz
stepping: 11
cpu MHz : 2931.962
cache size  : 4096 KB
physical id : 4
siblings: 4
core id : 0
cpu cores   : 4
apicid  : 16
fpu : yes
fpu_exception   : yes
cpuid level : 10
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall
nx lm constant_tsc pni monitor ds_cpl vm
x est tm2 cx16 xtpr lahf_lm
bogomips: 5863.10
clflush size: 64
clflush size: 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model   : 15
model name  : Intel(R) Xeon(R) CPU   X7350  @ 2.93GHz
stepping: 11
cpu MHz : 2931.962
cache size  : 4096 KB
physical id : 15
siblings: 4
core id