Bug 618332 - CPUID_EXT_POPCNT enabled in qemu64 and qemu32 built-in models.
Summary: CPUID_EXT_POPCNT enabled in qemu64 and qemu32 built-in models.
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm   
(Show other bugs)
Version: 6.0
Hardware: All Linux
Target Milestone: rc
: ---
Assignee: john cooper
QA Contact: Virtualization Bugs
Depends On:
TreeView+ depends on / blocked
Reported: 2010-07-26 17:12 UTC by john cooper
Modified: 2014-07-25 03:46 UTC (History)
9 users (show)

Fixed In Version: qemu-kvm-
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2010-11-10 21:26:56 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description john cooper 2010-07-26 17:12:46 UTC
Description of problem:

Upstream qemu commit 910628f39676ee65211727245809eec7ca4d75f5 adds
POPCNT to qemu64/qemu32.  This can break migration when using
these guest models should migration be attempted to a cpu lacking
this feature.

How reproducible:

    # /usr/libexec/qemu-kvm -cpu ?dump
Actual results:

x86         [qemu64]  QEMU Virtual CPU version 0.12.1                 
  feature_ecx 00802001 (popcnt cx16 pni|sse3)

x86         [qemu32]  QEMU Virtual CPU version 0.12.1                 
  feature_ecx 00800001 (popcnt pni|sse3)

Expected results:

"popcnt" should not be present.

Additional info:

The addition of popcnt to what is intended as a least common
denominator seems rather odd, as only select CPUs support this
feature.  This was specifically enabled by the commit called
out above and understanding what motivated this change needs
to be part of the case resolution.

Comment 2 RHEL Product and Program Management 2010-07-26 17:37:42 UTC
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **

Comment 4 Avi Kivity 2010-07-26 19:29:31 UTC
Not just popcnt, the other flags should be reviewed against hardware in the field.

Comment 9 Miya Chen 2010-08-10 08:33:09 UTC
Tested with qemu-kvm-,
1. # /usr/libexec/qemu-kvm -cpu ?dump
x86      cpu64-rhel5  QEMU Virtual CPU version (cpu64-rhel5)          
  feature_ecx 00000001 (pni|sse3)
x86      cpu64-rhel6  QEMU Virtual CPU version (cpu64-rhel6)          
  feature_ecx 00002001 (cx16 pni|sse3)

2. Boot guest with -M rhel6.0.0 & -M rhel5.5.0 & -M rhel5.4.4 & -M rhel5.4.0, guest can be boot up successfully with related cpu model.
# /usr/libexec/qemu-kvm -m 4G -smp 2 -monitor stdio -drive file=/home/RHEL-Server-6.0-64-virtio.qcow2,if=none,format=qcow2,boot=on,cache=none,id=test -device virtio-blk-pci,drive=test -device virtio-net-pci,mac=20:20:20:12:23:15,netdev=hostnet0 -netdev tap,script=/etc/qemu-ifup,vhost=on,id=hostnet0 -usbdevice tablet -vnc :10 -M xxxx

Based on above, change status to verified.

Comment 10 releng-rhel@redhat.com 2010-11-10 21:26:56 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.

Note You need to log in before you can comment on or make changes to this bug.