Skip to contentSkip to conversation

Lost of performance over AMD-V with KVM?

DISCUSSION Victor fernandez 2 participants 11 messages Jul 9, 2013 – Jul 11, 2013 5 messages not in the archive KVM

lore
Share & tools
lore
#0 lore raw

Hi EveryBody!

recently, we have tested some specific High Energy Physics benchmarks that was running over S.L.6 and we observed that the performance over AMD machines was really bad, about 30-40% lost. We were investigating and we conclude that the problem was with some cpu flags. These cpu flags are important for running our application because it is optimazed for running with them. So, we tuning our KVM with the name of flags parameters and with "-cpu host" parameter too, but
we observed that the flags that we needed, they weren't included when we started the S.L.6 instance. We try to solve it, but when we conclude that the specific flags weren't included in the code of the last versions of KVM and LibVirt(capabilities). Do you know something about this problem or you are aware of this?

Thanks in advance,
Víctor Fdez.

#1 lore raw
Quoted 16 lines · Victor fernandez

Hi EveryBody!

recently, we have tested some specific High Energy Physics benchmarks that was running over S.L.6 and we observed that the performance over AMD machines was really bad, about 30-40% lost. We were investigating and we conclude that the problem was with some cpu flags. These cpu flags are important for running our application because it is optimazed for running with them. So, we tuning our KVM with the name of flags parameters and with "-cpu host" parameter too, but
we observed that the flags that we needed, they weren't included when we started the S.L.6 instance. We try to solve it, but when we conclude that the specific flags weren't included in the code of the last versions of KVM
and LibVirt(capabilities). Do you know something about this problem or you are aware of this?

What flags are missing?

--
Gleb.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#3 lore raw
Quoted 8 lines · Victor fernandez

Hi Gleb,

there are flags that with the tuning of KVM (-cpu host) we get
that some of
important cpu flags are not included in SL6 ( Ht, rdtscp,
3dnowext, 3dnow, constant_tsc,nonstop_tsc,amd_dcm,monitor,svm,extapic,osvw,ibs,skinit,wdt,nodeid_msr).

Not all of them will be passed to a guest even with -cpu host, but instruction set related once like 3dnowext/3dnow you should be.

What is qemu command line that you use?

Quoted 12 lines

And the machines used for testing were 2 nodes AMD 6128 - 2Ghz -
2 CPUs
(8 Cores/CPU Core - 1GB) 16 Cores Total - 16 GB RAM for AMD-V
virtualization,
and we did the same tests with the same software versions with 2
nodes of DELL
PowerEdge SC1950, biprocessors dual core, 2 Xeon(R) CPU 5160 @
3.00GHz,
16GB RAM. for Intel VT virtualization. And with Intel technology
we get the
typical virtualization performance, around 2-5% of lost.

Quoted 26 lines

Thanks in advance,
Víctor Fdez.

Quoted 21 lines · Gleb Natapov
Quoted 16 lines · Victor fernandez

Hi EveryBody!

recently, we have tested some specific High Energy Physics benchmarks that was running over S.L.6 and we observed that the performance over AMD machines was really bad, about 30-40% lost. We were investigating and we conclude that the problem was with some cpu flags. These cpu flags are important for running our application because it is optimazed for running with them. So, we tuning our KVM with the name of flags parameters and with "-cpu host" parameter too, but
we observed that the flags that we needed, they weren't included when we started the S.L.6 instance. We try to solve it, but when we conclude that the specific flags weren't included in the code of the last versions of KVM
and LibVirt(capabilities). Do you know something about this problem or you are aware of this?

What flags are missing?

--
Gleb.

--
Gleb.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#5 lore raw
Quoted 8 lines · Victor fernandez

2.- with the "-cpu host" parameter:

/usr/bin/kvm *-cpu host* -m 2048 -smp 1 -name i-2-11-VM -monitor
telnet:127.0.0.1:9941,server,nowait -boot c /mnt/b07f7f29-7b9b-3d4b-b170-77876d10e7b1/134bc689-1207-487c-ae95-6c0dc2e0f285 -parallel none -usb -usbdevice tablet -vnc :0 -vga cirrus -net nic,macaddr=06:00:90:00:00:08,vlan=0,model=e1000,name=e1000.0 -net tap,script=/usr/bin/qemu-ifup,vlan=0,name=tap.0

With this command line can you provide output of /proc/cpuinfo on the host and the guest?

--
Gleb.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#7 lore raw
Quoted 12 lines · Victor fernandez

Yep,

-> this is for the host:

root@vfalbor-desktop:~# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr

Quoted 7 lines

-> this is for the VM:
[root@sl6 ~]# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb lm rep_good extd_apicid pni cx16 popcnt lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch

Hmm, what is your kernel and qemu versions?

Quoted 14 lines · Gleb Natapov
Quoted 12 lines · Victor fernandez
Quoted 8 lines

2.- with the "-cpu host" parameter:

/usr/bin/kvm *-cpu host* -m 2048 -smp 1 -name i-2-11-VM -monitor
telnet:127.0.0.1:9941,server,nowait -boot c /mnt/b07f7f29-7b9b-3d4b-b170-77876d10e7b1/134bc689-1207-487c-ae95-6c0dc2e0f285 -parallel none -usb -usbdevice tablet -vnc :0 -vga cirrus -net nic,macaddr=06:00:90:00:00:08,vlan=0,model=e1000,name=e1000.0 -net tap,script=/usr/bin/qemu-ifup,vlan=0,name=tap.0

With this command line can you provide output of /proc/cpuinfo on the host and the guest?

Quoted 7 lines
Quoted 6 lines

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

--
Gleb.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#9 lore raw
Quoted 6 lines · Victor fernandez

Hi Gleb,

    root@vfalbor-desktop:~# uname -a
*Linux vfalbor-desktop 2.6.32-24-generic *#43-Ubuntu SMP Thu Sep 16
14:58:24 UTC 2010 x86_64 GNU/Linux
Quoted 6 lines
    root@vfalbor-desktop:~# dpkg --list | grep qemu
    ii  qemu-common *0.12.3+noroms-0ubuntu9.21 * qemu common
functionality (bios, documentati
    ri  qemu-kvm *0.12.3+noroms-0ubuntu9.21*
Full virtualization on i386 and amd64 hardwa

Ugh, those are ancient and vendor packages. I thought you were running Scientific Linux 6 as a host too which also has vendor specific packages, but at least something that I can easily look into :) Can you reproduce with upstream kernel/qemu? If it works on upstream you can open bug in Ubuntu.

Quoted 6 lines

One of the things that we did, we try to update libvirt to the
last versions
because we are using for our cloud the version of ubuntu 10.04 and the last stable version of libvirt was 0.7.5-5ubuntu27.23, but when
we try to
get the capabilities, we get the following:

This is definitely not libvirt fault. This is either kernel or qemu. Looking into git history 3dnow/3dnowext support was introduce into the kernel kvm component before 2.6.32 though.

Quoted 15 lines
    root@vfalbor-desktop:~/# virsh capabilities | grep 3dnow
      <feature name='*3dnowprefetch*'/>
    root@vfalbor-desktop:~/#

but in the cpu_map.xml file we find the 3dnow and 3dnowext for
our architecture:

    root@vfalbor-desktop:~/# cat /usr/share/libvirt/cpu_map.xml |
grep 3dnow
            <feature name='*3dnowext*'> <!-- CPUID_EXT2_3DNOWEXT -->
            <feature name='3dnow'> <!-- CPUID_EXT2_3DNOW -->
            <feature name='3dnowprefetch'> <!--
CPUID_EXT3_3DNOWPREFETCH -->
Quoted 48 lines

Thanks Gleb,
Víctor Fdez.

Quoted 43 lines · Gleb Natapov
Quoted 12 lines · Victor fernandez

Yep,

-> this is for the host:

root@vfalbor-desktop:~# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr

Quoted 7 lines

-> this is for the VM:
[root@sl6 ~]# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb lm rep_good extd_apicid pni cx16 popcnt lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch

Hmm, what is your kernel and qemu versions?

Quoted 13 lines · Gleb Natapov
Quoted 12 lines · Victor fernandez
Quoted 8 lines

2.- with the "-cpu host" parameter:

/usr/bin/kvm *-cpu host* -m 2048 -smp 1 -name i-2-11-VM -monitor
telnet:127.0.0.1:9941,server,nowait -boot c /mnt/b07f7f29-7b9b-3d4b-b170-77876d10e7b1/134bc689-1207-487c-ae95-6c0dc2e0f285 -parallel none -usb -usbdevice tablet -vnc :0 -vga cirrus -net nic,macaddr=06:00:90:00:00:08,vlan=0,model=e1000,name=e1000.0 -net tap,script=/usr/bin/qemu-ifup,vlan=0,name=tap.0

With this command line can you provide output of /proc/cpuinfo on the host and the guest?

Quoted 6 lines
Quoted 6 lines

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

--
Gleb.

--
Gleb.

#10 lore raw

Hi Gleb,

you were right, we update the qemu-kvm to 1.0 and now the S.L. instance start with new cpu flags (for instance:
3dnowext,3dnow).

But we have bad performance still, around 17% of lost in our AMD processors. Let me explain better, we are running three different hight energy physic softwares. And in 2 of them we don't have any problem with the performances, 4-5% of lost. But in the other one (GAUSS, LHCb software), and only in AMD-V virtualization we have arount 17%-33% lost performance depending on the processor number. But Gauss software in Intel processor are running with an acceptable performance.

And we suspected that could be due to cpu flags, but now we are not sure about that because now 3dnowext,3dnow are included and the performances are still bad. But these flags are not yet
included

    with qemu-kvm_1.0.
Quoted 1 line

ht > rdtscp > constant_tsc > nopl > nonstop_tsc > amd_dcm > monitor > extapic > ibs > skinit > wdt > nodeid_msr > hw_pstate > lbrv > svm_lock > pausefilter

- Do you think that these flags could be the problem?
- Do you have any idea what could it be?

Thanks in advance Gleb,
Víctor Fdez.

Quoted 92 lines · Gleb Natapov
Quoted 6 lines · Victor fernandez

Hi Gleb,

     root@vfalbor-desktop:~# uname -a
*Linux vfalbor-desktop 2.6.32-24-generic *#43-Ubuntu SMP Thu Sep 16
14:58:24 UTC 2010 x86_64 GNU/Linux
Quoted 6 lines
     root@vfalbor-desktop:~# dpkg --list | grep qemu
     ii  qemu-common *0.12.3+noroms-0ubuntu9.21 * qemu common
functionality (bios, documentati
     ri  qemu-kvm *0.12.3+noroms-0ubuntu9.21*
Full virtualization on i386 and amd64 hardwa

Ugh, those are ancient and vendor packages. I thought you were running Scientific Linux 6 as a host too which also has vendor specific packages, but at least something that I can easily look into :) Can you reproduce with upstream kernel/qemu? If it works on upstream you can open bug in Ubuntu.

Quoted 6 lines

One of the things that we did, we try to update libvirt to the
last versions
because we are using for our cloud the version of ubuntu 10.04 and the last stable version of libvirt was 0.7.5-5ubuntu27.23, but when
we try to
get the capabilities, we get the following:

This is definitely not libvirt fault. This is either kernel or qemu. Looking into git history 3dnow/3dnowext support was introduce into the kernel kvm component before 2.6.32 though.

Quoted 14 lines
     root@vfalbor-desktop:~/# virsh capabilities | grep 3dnow
       <feature name='*3dnowprefetch*'/>
     root@vfalbor-desktop:~/#

but in the cpu_map.xml file we find the 3dnow and 3dnowext for
our architecture:

     root@vfalbor-desktop:~/# cat /usr/share/libvirt/cpu_map.xml |
grep 3dnow
             <feature name='*3dnowext*'> <!-- CPUID_EXT2_3DNOWEXT -->
             <feature name='3dnow'> <!-- CPUID_EXT2_3DNOW -->
             <feature name='3dnowprefetch'> <!--
CPUID_EXT3_3DNOWPREFETCH -->
Quoted 47 lines

Thanks Gleb,
Víctor Fdez.

Quoted 43 lines · Gleb Natapov
Quoted 12 lines · Victor fernandez

Yep,

-> this is for the host:

root@vfalbor-desktop:~# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr

Quoted 7 lines

-> this is for the VM:
[root@sl6 ~]# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb lm rep_good extd_apicid pni cx16 popcnt lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch

Hmm, what is your kernel and qemu versions?

Quoted 13 lines · Gleb Natapov
Quoted 12 lines · Victor fernandez
Quoted 8 lines

2.- with the "-cpu host" parameter:

/usr/bin/kvm *-cpu host* -m 2048 -smp 1 -name i-2-11-VM -monitor
telnet:127.0.0.1:9941,server,nowait -boot c /mnt/b07f7f29-7b9b-3d4b-b170-77876d10e7b1/134bc689-1207-487c-ae95-6c0dc2e0f285 -parallel none -usb -usbdevice tablet -vnc :0 -vga cirrus -net nic,macaddr=06:00:90:00:00:08,vlan=0,model=e1000,name=e1000.0 -net tap,script=/usr/bin/qemu-ifup,vlan=0,name=tap.0

With this command line can you provide output of /proc/cpuinfo on the host and the guest?

Quoted 6 lines
Quoted 6 lines

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

--
Gleb.

--
Gleb.

#11 lore raw
Quoted 19 lines · Victor fernandez

Hi Gleb,

you were right, we update the qemu-kvm to 1.0 and now the S.L. instance start with new cpu flags (for instance:
3dnowext,3dnow).

But we have bad performance still, around 17% of lost in our AMD processors. Let me explain better, we are running three different hight energy physic softwares. And in 2 of them we don't have any problem with the performances, 4-5% of lost. But in the other one (GAUSS, LHCb software), and only in AMD-V virtualization we have arount 17%-33% lost performance depending on the processor number. But Gauss software in Intel processor are running with an acceptable performance.

And we suspected that could be due to cpu flags, but now we are not sure about that because now 3dnowext,3dnow are included and the performances are still bad. But these flags are not yet
included

Quoted 7 lines
    with qemu-kvm_1.0.
Quoted 1 line

ht > rdtscp > constant_tsc > nopl > nonstop_tsc > amd_dcm >

monitor > extapic > ibs > skinit > wdt > nodeid_msr > hw_pstate > lbrv > svm_lock > pausefilter

- Do you think that these flags could be the problem?

Non of them are related to an instruction set relevant for performance. amd_dcm is a synthetic flag (meaning that it does not correspond to any real cpuid) that says that your machine is NUMA. Can you bind you VM to single numa node with taskset/numactl?

I see that you assign only 2G to your VM, may be this is not enough? How much memory host has?

Quoted 99 lines

- Do you have any idea what could it be?

Thanks in advance Gleb,
Víctor Fdez.

Quoted 92 lines · Gleb Natapov
Quoted 6 lines · Victor fernandez

Hi Gleb,

    root@vfalbor-desktop:~# uname -a
*Linux vfalbor-desktop 2.6.32-24-generic *#43-Ubuntu SMP Thu Sep 16
14:58:24 UTC 2010 x86_64 GNU/Linux
Quoted 6 lines
    root@vfalbor-desktop:~# dpkg --list | grep qemu
    ii  qemu-common *0.12.3+noroms-0ubuntu9.21 * qemu common
functionality (bios, documentati
    ri  qemu-kvm *0.12.3+noroms-0ubuntu9.21*
Full virtualization on i386 and amd64 hardwa

Ugh, those are ancient and vendor packages. I thought you were running Scientific Linux 6 as a host too which also has vendor specific packages, but at least something that I can easily look into :) Can you reproduce with upstream kernel/qemu? If it works on upstream you can open bug in Ubuntu.

Quoted 6 lines

One of the things that we did, we try to update libvirt to the
last versions
because we are using for our cloud the version of ubuntu 10.04 and the last stable version of libvirt was 0.7.5-5ubuntu27.23, but when
we try to
get the capabilities, we get the following:

This is definitely not libvirt fault. This is either kernel or qemu. Looking into git history 3dnow/3dnowext support was introduce into the kernel kvm component before 2.6.32 though.

Quoted 14 lines
    root@vfalbor-desktop:~/# virsh capabilities | grep 3dnow
      <feature name='*3dnowprefetch*'/>
    root@vfalbor-desktop:~/#

but in the cpu_map.xml file we find the 3dnow and 3dnowext for
our architecture:

    root@vfalbor-desktop:~/# cat /usr/share/libvirt/cpu_map.xml |
grep 3dnow
            <feature name='*3dnowext*'> <!-- CPUID_EXT2_3DNOWEXT -->
            <feature name='3dnow'> <!-- CPUID_EXT2_3DNOW -->
            <feature name='3dnowprefetch'> <!--
CPUID_EXT3_3DNOWPREFETCH -->
Quoted 47 lines

Thanks Gleb,
Víctor Fdez.

Quoted 43 lines · Gleb Natapov
Quoted 12 lines · Victor fernandez

Yep,

-> this is for the host:

root@vfalbor-desktop:~# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr

Quoted 7 lines

-> this is for the VM:
[root@sl6 ~]# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb lm rep_good extd_apicid pni cx16 popcnt lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch

Hmm, what is your kernel and qemu versions?

Quoted 13 lines · Gleb Natapov
Quoted 12 lines · Victor fernandez
Quoted 8 lines

2.- with the "-cpu host" parameter:

/usr/bin/kvm *-cpu host* -m 2048 -smp 1 -name i-2-11-VM -monitor
telnet:127.0.0.1:9941,server,nowait -boot c /mnt/b07f7f29-7b9b-3d4b-b170-77876d10e7b1/134bc689-1207-487c-ae95-6c0dc2e0f285 -parallel none -usb -usbdevice tablet -vnc :0 -vga cirrus -net nic,macaddr=06:00:90:00:00:08,vlan=0,model=e1000,name=e1000.0 -net tap,script=/usr/bin/qemu-ifup,vlan=0,name=tap.0

With this command line can you provide output of /proc/cpuinfo on the host and the guest?

Quoted 6 lines
Quoted 6 lines

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

--
Gleb.

--
Gleb.

--
Gleb.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#13 lore raw
Quoted 29 lines · Victor fernandez

Hi Gleb,

Quoted 26 lines · Gleb Natapov
Quoted 25 lines · Victor fernandez

Hi Gleb,

you were right, we update the qemu-kvm to 1.0 and now the S.L. instance start with new cpu flags (for instance:
3dnowext,3dnow).

But we have bad performance still, around 17% of lost in our AMD processors. Let me explain better, we are running three different hight energy physic softwares. And in 2 of them we don't have any problem with the performances, 4-5% of lost. But in the other one (GAUSS, LHCb software), and only in AMD-V virtualization we have arount 17%-33% lost performance depending on the processor number. But Gauss software in Intel processor are running with an acceptable performance.

And we suspected that could be due to cpu flags, but now we are not sure about that because now 3dnowext,3dnow are included and the performances are still bad. But these flags are not yet
included

    with qemu-kvm_1.0.
Quoted 1 line

ht > rdtscp > constant_tsc > nopl > nonstop_tsc > amd_dcm >

monitor > extapic > ibs > skinit > wdt > nodeid_msr > hw_pstate > lbrv > svm_lock > pausefilter

Quoted 9 lines
Quoted 5 lines
Quoted 1 line

- Do you think that these flags could be the problem?

Non of them are related to an instruction set relevant for performance. amd_dcm is a synthetic flag (meaning that it does not correspond to any real cpuid) that says that your machine is NUMA. Can you bind you VM to single numa node with taskset/numactl?

I have run the software in the Intel machine which doesn't have amd_dcm flag, and with the same parameters 2Gb Mem, 1Core, and the results were ok, around 7-9% of lost:

amd_dcm is AMD specific. Intel machine may or may not be NUMA.

Quoted 1 line

Intel flags (biprocessors dual core, 2 Xeon(R) CPU 5160 @ 3.00GHz):

If there is only one dual core cpu there it is definitely not NUMA.

Quoted 11 lines

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 pbe syscall nx lm constant_tsc
arch_perfmon pebs bts rep_good aperfmperf pni
dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr
pdcm dca lahf_lm tpr_shadow

Quoted 3 lines

I see that you assign only 2G to your VM, may be this is not enough? How much memory host has?

Quoted 9 lines

In this case the host memory is 16Gb, and 2 Gb should be enough for running the soft in the VM,
on the other hand this is for a paper in Journal of Grid Computing, and we did a lot of tests with more memory-core, 2Gb per Core / 4Gb per Core etc,
and the results in AMD tech were the same, with low performance. Finally, we have the Intel results which is enough for our article, but we want to understand what are happening in the virtualization of our AMD nodes.

What I also notice now is that you do not have two level paging on AMD (no npt flag in cpuinfo), but then you do not have it on Intel either (no ept flag). To get optimal performance from virtualization you should use HW with those features.

Quoted 106 lines

Thanks a lot Gleb,
Víctor Fdez.

Quoted 102 lines
Quoted 100 lines

- Do you have any idea what could it be?

Thanks in advance Gleb,
Víctor Fdez.

Quoted 92 lines · Gleb Natapov
Quoted 6 lines · Victor fernandez

Hi Gleb,

    root@vfalbor-desktop:~# uname -a
*Linux vfalbor-desktop 2.6.32-24-generic *#43-Ubuntu SMP Thu Sep 16
14:58:24 UTC 2010 x86_64 GNU/Linux
Quoted 6 lines
    root@vfalbor-desktop:~# dpkg --list | grep qemu
    ii  qemu-common *0.12.3+noroms-0ubuntu9.21 * qemu common
functionality (bios, documentati
    ri  qemu-kvm *0.12.3+noroms-0ubuntu9.21*
Full virtualization on i386 and amd64 hardwa

Ugh, those are ancient and vendor packages. I thought you were running Scientific Linux 6 as a host too which also has vendor specific packages, but at least something that I can easily look into :) Can you reproduce with upstream kernel/qemu? If it works on upstream you can open bug in Ubuntu.

Quoted 6 lines

One of the things that we did, we try to update libvirt to the
last versions
because we are using for our cloud the version of ubuntu 10.04 and the last stable version of libvirt was 0.7.5-5ubuntu27.23, but when
we try to
get the capabilities, we get the following:

This is definitely not libvirt fault. This is either kernel or qemu. Looking into git history 3dnow/3dnowext support was introduce into the kernel kvm component before 2.6.32 though.

Quoted 14 lines
    root@vfalbor-desktop:~/# virsh capabilities | grep 3dnow
      <feature name='*3dnowprefetch*'/>
    root@vfalbor-desktop:~/#

but in the cpu_map.xml file we find the 3dnow and 3dnowext for
our architecture:

    root@vfalbor-desktop:~/# cat /usr/share/libvirt/cpu_map.xml |
grep 3dnow
            <feature name='*3dnowext*'> <!-- CPUID_EXT2_3DNOWEXT -->
            <feature name='3dnow'> <!-- CPUID_EXT2_3DNOW -->
            <feature name='3dnowprefetch'> <!--
CPUID_EXT3_3DNOWPREFETCH -->
Quoted 47 lines

Thanks Gleb,
Víctor Fdez.

Quoted 43 lines · Gleb Natapov
Quoted 12 lines · Victor fernandez

Yep,

-> this is for the host:

root@vfalbor-desktop:~# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr

Quoted 7 lines

-> this is for the VM:
[root@sl6 ~]# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb lm rep_good extd_apicid pni cx16 popcnt lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch

Hmm, what is your kernel and qemu versions?

Quoted 13 lines · Gleb Natapov
Quoted 12 lines · Victor fernandez
Quoted 8 lines

2.- with the "-cpu host" parameter:

/usr/bin/kvm *-cpu host* -m 2048 -smp 1 -name i-2-11-VM -monitor
telnet:127.0.0.1:9941,server,nowait -boot c /mnt/b07f7f29-7b9b-3d4b-b170-77876d10e7b1/134bc689-1207-487c-ae95-6c0dc2e0f285 -parallel none -usb -usbdevice tablet -vnc :0 -vga cirrus -net nic,macaddr=06:00:90:00:00:08,vlan=0,model=e1000,name=e1000.0 -net tap,script=/usr/bin/qemu-ifup,vlan=0,name=tap.0

With this command line can you provide output of /proc/cpuinfo on the host and the guest?

Quoted 6 lines
Quoted 6 lines

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

--
Gleb.

--
Gleb.

--
Gleb.

--
Gleb.

#14 lore raw
In reply to Gleb Natapov

Yep,

-> this is for the host:

root@vfalbor-desktop:~# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr

-> this is for the VM:
[root@sl6 ~]# cat /proc/cpuinfo | grep flags | uniq
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb lm rep_good extd_apicid pni cx16 popcnt lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch

#15 lore raw
In reply to Victor fernandez

Hi Gleb,

there are flags that with the tuning of KVM (-cpu host) we get that
some of
important cpu flags are not included in SL6 ( Ht, rdtscp, 3dnowext,
3dnow, constant_tsc,nonstop_tsc,amd_dcm,monitor,svm,extapic,osvw,ibs,skinit,wdt,nodeid_msr).

And the machines used for testing were 2 nodes AMD 6128 - 2Ghz - 2
CPUs
(8 Cores/CPU Core - 1GB) 16 Cores Total - 16 GB RAM for AMD-V
virtualization,
and we did the same tests with the same software versions with 2
nodes of DELL
PowerEdge SC1950, biprocessors dual core, 2 Xeon(R) CPU 5160 @
3.00GHz,
16GB RAM. for Intel VT virtualization. And with Intel technology we
get the
typical virtualization performance, around 2-5% of lost.

Thanks in advance,
Víctor Fdez.