[libvirt-users] Fwd: Haswell 4770 misidentified as Sandy Bridge

Kashyap Chamarthy kchamart at redhat.com
Fri Jun 14 09:33:58 UTC 2013


On 06/14/2013 01:41 AM, Michael Giardino wrote:
> Hi,
> 
> I'm running libvert on a Debian 7 system. I have upgraded libvert and qemu
> from source (v1.06 and 1.5.0 respectively) and the problem persists. The
> guest OS is also a Debian 7 system running a non-SMP kernel. The error
> message from virt-manager is
> 
> Error starting domain: unsupported configuration: guest and host CPU are
> not compatible: Host CPU does not provide required features: rtm, invpcid,
> erms, bmi2, smep, avx2, hle, bmi1, fsgsbase, pcid
> 
> Traceback (most recent call last):
>   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 45, in
> cb_wrapper
>     callback(asyncjob, *args, **kwargs)
>   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 66, in tmpcb
>     callback(*args, **kwargs)
>   File "/usr/share/virt-manager/virtManager/domain.py", line 1114, in
> startup
>     self._backend.create()
>   File "/usr/local/lib/python2.7/dist-packages/libvirt.py", line 698, in
> create
>     if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
> libvirtError: unsupported configuration: guest and host CPU are not
> compatible: Host CPU does not provide required features: rtm, invpcid,
> erms, bmi2, smep, avx2, hle, bmi1, fsgsbase, pcid
> 
> but the host /proc/cpuinfo gives the correct flags as
> 
> processor : 7
> vendor_id : GenuineIntel
> cpu family : 6
> model : 60
> model name : Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
> stepping : 3
> microcode : 0x7
> cpu MHz : 800.000
> cache size : 8192 KB
> physical id : 0
> siblings : 8
> core id : 3
> cpu cores : 4
> apicid : 7
> initial apicid : 7
> fpu : yes
> fpu_exception : yes
> cpuid level : 13
> 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 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 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 hle avx2 smep bmi2 erms invpcid rtm
> bogomips : 6795.91
> clflush size : 64
> cache_alignment : 64
> address sizes : 39 bits physical, 48 bits virtual
> power management:
> 
> Is there a place in the code I can look where the CPU flags are checked? I
> did create this VM on the Debian 7 versions of libvirt and qemu, but I
> don't see that it should be much of a problem since you can swap CPUs in
> virt-manager.
> 
> The end goal is to read Sandy Bridge+ RAPL MSRs from the guest OS.
> perf_events are now being exported, which is great for my work, but if I
> could read some of those RAPL MSRs, It would make my life orders of
> magnitude easier.
> 
> Any help would be much appreciated.

Just to note - I'm using a Haswell machine myself -- Intel(R) Core(TM) i5-4670T CPU @
2.30GHz -- without any problems, but that's w/o virt-manager. I use libvirt's
virsh-shell/virt-install.

Here's my guest xml --
https://github.com/kashyapc/nvmx-haswell/blob/master/tests/libvirt-xmls-for-l1-l2/regular-guest.xml


Not sure if that answers your specific question.

-- 
/kashyap




More information about the libvirt-users mailing list