Dennis Jacobfeuerborn
2015-Feb-04 21:32 UTC
[libvirt-users] CPU model and missing AES-NI extension
Hi, today I tried to configure a guest using Virt-Manager and used the "copy host cpu configuration" option which resultet in a "Sandy Bridge" model. What I noticed is that for example the "aes" extension is not available in the guest even though it is available on the host cpu. This is what the host cpu looks like: model name : Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz 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 pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid And this is what I get in the guest: model name : Intel Xeon E312xx (Sandy Bridge) flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb lm constant_tsc pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm abm Is there a way to get closer to the hardware and get as many of the host features in the guest as possible? I never intend to do anything like live-migration with this guest so compatibility for that case is not a concern. Regards, Dennis
Michal Privoznik
2015-Feb-05 12:00 UTC
Re: [libvirt-users] CPU model and missing AES-NI extension
On 04.02.2015 22:32, Dennis Jacobfeuerborn wrote:> Hi, > today I tried to configure a guest using Virt-Manager and used the "copy > host cpu configuration" option which resultet in a "Sandy Bridge" model. > What I noticed is that for example the "aes" extension is not available > in the guest even though it is available on the host cpu. > > This is what the host cpu looks like: > > model name : Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz > 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 pbe syscall nx > pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl > xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor > ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 > x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm > abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority > ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid > > And this is what I get in the guest: > > model name : Intel Xeon E312xx (Sandy Bridge) > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov > pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb lm > constant_tsc pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm abm > > Is there a way to get closer to the hardware and get as many of the host > features in the guest as possible? I never intend to do anything like > live-migration with this guest so compatibility for that case is not a > concern. >I think this is XML snippet you're aiming for: <cpu mode='host-model'> <model fallback='allow'/> </cpu> Michal
Dennis Jacobfeuerborn
2015-Feb-06 02:30 UTC
Re: [libvirt-users] CPU model and missing AES-NI extension
On 05.02.2015 13:00, Michal Privoznik wrote:> On 04.02.2015 22:32, Dennis Jacobfeuerborn wrote: >> Hi, >> today I tried to configure a guest using Virt-Manager and used the "copy >> host cpu configuration" option which resultet in a "Sandy Bridge" model. >> What I noticed is that for example the "aes" extension is not available >> in the guest even though it is available on the host cpu. >> >> This is what the host cpu looks like: >> >> model name : Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz >> 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 pbe syscall nx >> pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl >> xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor >> ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 >> x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm >> abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority >> ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid >> >> And this is what I get in the guest: >> >> model name : Intel Xeon E312xx (Sandy Bridge) >> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov >> pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb lm >> constant_tsc pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm abm >> >> Is there a way to get closer to the hardware and get as many of the host >> features in the guest as possible? I never intend to do anything like >> live-migration with this guest so compatibility for that case is not a >> concern. >> > > I think this is XML snippet you're aiming for: > > <cpu mode='host-model'> > <model fallback='allow'/> > </cpu>Hm, according to the documentation mode='host-model' should not be used? "Beware, due to the way libvirt detects host CPU and due to the fact libvirt does not talk to QEMU/KVM when creating the CPU model, CPU configuration created using host-model may not work as expected. The guest CPU may differ from the configuration and it may also confuse guest OS by using a combination of CPU features and other parameters (such as CPUID level) that don't work. Until these issues are fixed, it's a good idea to avoid using host-model and use custom mode with just the CPU model from host capabilities XML." Regards, Dennis