Bug 1056428
Summary: | "rdtscp" flag defined on Opteron_G5 model and cann't be exposed to guest | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | huiqingding <huding> |
Component: | qemu-kvm | Assignee: | Eduardo Habkost <ehabkost> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.0 | CC: | acathrow, ehabkost, hhuang, huding, juzhang, qzhang, virt-maint, xfu |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | qemu-kvm-1.5.3-44.el7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-06-13 13:30:18 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
huiqingding
2014-01-22 08:23:13 UTC
Please test using "-cpu Opteron_G5,enforce", otherwise there is no guarantee that all flags are enabled because they will be disabled silently when the host kernel or host CPU don't support the flag. Hi Eduardo (In reply to Eduardo Habkost from comment #1) > Please test using "-cpu Opteron_G5,enforce", otherwise there is no guarantee > that all flags are enabled because they will be disabled silently when the > host kernel or host CPU don't support the flag. I boot the guest with "-cpu Opteron_G5,enforce". qemu-kvm quits with the error info: (qemu) warning: host doesn't support requested feature: CPUID.80000001H:EDX.rdtscp [bit 27] qemu-kvm: Host's CPU doesn't support requested features My host is "AMD Opteron(tm) Processor 6376" and the host's flags in "/proc/cpuinfo" are as following: 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 amd_dcm aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold bmi1 So qemu-kvm is doing the right thing (aborting because KVM can't expose the rdtscp feature on AMD hosts). But this means the CPU model is not very useful, if it can never be run as-is. It makes sense to remove the RDTSCP flag from the AMD CPU models. Patch submitted: Subject: [RHEL7 qemu-kvm PATCH 1/2] pc: Disable RDTSCP unconditionally on rhel6.* machine-types Date: Wed, 22 Jan 2014 23:02:20 -0200 Message-Id: <1390438941-18726-2-git-send-email-ehabkost> Correct patch identification: Subject: [RHEL7 qemu-kvm PATCH 2/2] pc: Disable RDTSCP on AMD CPU models Date: Wed, 22 Jan 2014 23:02:21 -0200 Message-Id: <1390438941-18726-3-git-send-email-ehabkost> (patch 1/1 is for bug 918907) Fix included in qemu-kvm-1.5.3-44.el7 Reproduce this bug using the following version: qemu-kvm-1.5.3-40.el7.x86_64 The host is Opteron_G5. Steps to Reproduce: 1. boot guest # /usr/libexec/qemu-kvm -M pc -cpu Opteron_G5,enforce -enable-kvm -m 2048 -smp 2,sockets=1,cores=2,threads=1 -name rhel7 -uuid 6afa5f93-2d4f-420f-81c6-e5fdddbd1c83 -drive file=/home/huding/RHEL7-64.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,serial=40c061dd-5d60-4fc5-865f-55db700407f0,cache=none,werror=stop,rerror=stop,aio=threads -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0 -netdev tap,id=hostnet0,vhost=on -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:4a:42:0a:00,bus=pci.0,addr=0x3 -vnc :1 -monitor stdio Actual results: qemu-kvm quits with error information: (qemu) warning: host doesn't support requested feature: CPUID.80000001H:EDX.rdtscp [bit 27] qemu-kvm: Host's CPU doesn't support requested features Verify this bug using the following version: qemu-kvm-1.5.3-45.el7.x86_64 The host is Opteron_G5. Steps to Verification: 1. boot guest # /usr/libexec/qemu-kvm -M pc -cpu Opteron_G5,enforce -enable-kvm -m 2048 -smp 2,sockets=1,cores=2,threads=1 -name rhel7 -uuid 6afa5f93-2d4f-420f-81c6-e5fdddbd1c83 -drive file=/home/huding/RHEL7-64.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,serial=40c061dd-5d60-4fc5-865f-55db700407f0,cache=none,werror=stop,rerror=stop,aio=threads -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0 -netdev tap,id=hostnet0,vhost=on -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:4a:42:0a:00,bus=pci.0,addr=0x3 -vnc :1 -monitor stdio Actual results: The guest can boot and check "/proc/cpuinfo", there is no the flag "rdtscp". Based on the above result, I think this bug has been fixed. This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request. |