Having difficulty selecting the CPU:Host flag for a VM

larathydo

New Member
Jan 12, 2011
4
0
1
Hello,

I am currently running Proxmox v4.0 beta1 (Long story... I couldn't get v3.3 or v3.4 to successfully install on my machine, I kept having USB errors trying to load the installation... but I digress - v4.0 b1 fixed that issue and allowed it to boot/install).

It's working smoothly for the most part at the moment, but i'm noticing slower performance using qemu64 on one of my VMs. As such, I tried to switch the CPU type to 'host' as I have done on other proxmox installations, but it throws the following error in the task viewer after attempting to start the VM:

Code:
[COLOR=#000000][FONT=tahoma]Running as unit 101.scope.[/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 14][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 15][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 16][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 17][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 23][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 24][/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]kvm: Host doesn't support requested features[/FONT][/COLOR]
[COLOR=#000000][FONT=tahoma]TASK ERROR: start failed: command '/usr/bin/systemd-run --scope --slice qemu --unit 101 -p 'CPUShares=1000' /usr/bin/kvm -id 101 -chardev 'socket,id=qmp,path=/var/run/qemu-server/101.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -vnc unix:/var/run/qemu-server/101.vnc,x509,password -pidfile /var/run/qemu-server/101.pid -daemonize -smbios 'type=1,uuid=53034ce9-4bd6-40b0-8412-c5886696684d' -name pfSense -smp '4,sockets=1,cores=4,maxcpus=4' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000' -vga vmware -cpu host,+x2apic,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 512 -k en-us -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:462d57e1b0ee' -drive 'if=none,id=drive-ide2,media=cdrom,aio=threads' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -device 'ahci,id=ahci0,multifunction=on,bus=pci.0,addr=0x7' -drive 'file=/var/lib/vz/images/101/vm-101-disk-1.qcow2,if=none,id=drive-sata0,format=qcow2,cache=none,aio=native,detect-zeroes=on' -device 'ide-drive,bus=ahci0.0,drive=drive-sata0,id=sata0,bootindex=100' -netdev 'type=tap,id=net0,ifname=tap101i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown' -device 'e1000,mac=82:03:A7:C9:2F:85,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -netdev 'type=tap,id=net1,ifname=tap101i1,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown' -device 'e1000,mac=A6:8A:10:8F:D4:D3,netdev=net1,bus=pci.0,addr=0x13,id=net1,bootindex=301'' failed: exit code 1[/FONT][/COLOR]

Any ideas what would be causing it that error? I can boot with kvm64/qemu64/Opeteron_G1 and intel-based processors up till 'Westmere'. It's odd because 'host' always seemed to work for any other proxmox systems I built.

Could it have something to do with the hardware? I have an AS-Rock CQ5000M motherboard which has an embedded AMD Kabini A4-5000 quad-core processor. Perhaps using 'host' is trying to use some sort of instructionset that the physical CPU doesn't support?

I did the following on the Guest VM:

Code:
dmesg -a | grep Features
  Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
  Features2=0x82b82203<SSE3,PCLMULQDQ,SSSE3,CX16,SSE4.1,SSE4.2,x2APIC,POPCNT,AESNI,HV>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x3<LAHF,CMP>

And the result from the Host Proxmox PC:

Code:
 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 constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt topoext perfctr_nb perfctr_l2 arat hw_pstate proc_feedback npt lbrv svm_lock nrip_save tsc_scale flushbyasid decodeassists pausefilter pfthreshold vmmcall bmi1 xsaveopt


Any suggestions would be greatly appreciated.
 
Hi,

in proxmox 4.0, we have added a qemu feature (-cpu ...,+enforce), which very that host cpu flags are supported by qemu guest.

I'll need to check if it's make sense to use if for "host" cpu flags.

(Note that it's always better to choose a specific cpu model, where the supported qemu cpu flags are defined)
 
Hi again,

I have tested on 4 different architecture (xeon e5 v2, v3, opteron 63xx , opteron 61xx), and it's working fine with host cpu model and enforce.

Maybe is it related to your AMD Kabini A4-500 processor ? maybe some flags of this cpu are not yet supporte by qemu.
 
Could it be that in this case we're asking with '-cpu host' to activate a flag on the guest that it is not supported on the host ? This could explaing the error message.

From the man page:
qemu -cpu help | grep host
x86 host KVM processor with all supported host features (only available in KVM mode)

But from qemu wiki:

  • -cpu host will be the "all-you-can-enable" mode, that will enable every bit from GET_SUPPORTED_CPUID on the VCPU
  • all-you-can-enable: Enable every single bit that can be enabled, including the ones not present on the host but that can be emulated.

I tried to get a better understanding of this by looking at the 'host' cpu definition from ./qemu-kvm/target-i386/cpu.c, but unfortunately could not grok the implemetation details.
 
I do have the same problem with AMD FX-6300 and FX-9590 CPUs. When I copy the command and remove the enforce option, the VM starts up fine. Maybe it's worth putting a checkbox there to optionally select enforce (if one really needs to enforce this CPU type)? But at the very least for "host", enforce doesn't seem to work for CPUs that support fewer flags than KVM.
 
I do have the same problem with AMD FX-6300 and FX-9590 CPUs


does it work with opteron_GX model ?

But at the very least for "host", enforce doesn't seem to work for CPUs that support fewer flags than KVM.

I'll check that. (But I'm pretty sure that they are good reason to have the error message, maybe for stability)


 
indeed for Opteron_G2->5:

warning: host doesn't support requested feature: CPUID.80000001H:EDX.rdtscp [bit 27]

for host:

warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 0]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 1]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 2]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 3]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 4]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 7]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 8]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 9]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 12]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 13]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 14]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 15]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 16]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 17]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 23]
warning: host doesn't support requested feature: CPUID.80000001H:EDX [bit 24]



So I think for now, it's better to add -
.rdtscp to Opteron model, and remove enforce for host cpu model.


 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!