Bug 1186405

Summary: Haswell and Broadwell CPU models contain unavailable features (HLE and RTM)
Product: Red Hat Enterprise Linux 6 Reporter: Eduardo Habkost <ehabkost>
Component: qemu-kvmAssignee: Eduardo Habkost <ehabkost>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.7CC: bsarathy, chayang, danken, hhuang, juzhang, jyundt, mkenneth, qzhang, rbalakri, virt-bugs, virt-maint, xuwei
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/4th-gen-core-family-desktop-specification-update.pdf
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1186402 Environment:
Last Closed: 2015-03-23 18:33:09 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:
Bug Depends On: 1186402    
Bug Blocks: 1218673    

Description Eduardo Habkost 2015-01-27 15:48:55 UTC
Cloning RHEL-7 BZ for RHEL-6, which has the same problem.

+++ This bug was initially created as a clone of Bug #1186402 +++

A microcode update from Intel disables the HLE and RTM features on Haswell and some Broadwell CPUs. This makes the existing Haswell and Broadwell CPU definitions not runnable on those CPUs after the microcode update. The Haswell and Broadwell CPU models in QEMU need to be updated to not contain those features.

Comment 1 Eduardo Habkost 2015-01-27 16:58:23 UTC
Upstream fix:

commit 13704e4c455770d500d6b87b117e32f0d01252c9
Author: Eduardo Habkost <ehabkost>
Date:   Thu Jan 22 17:22:54 2015 -0200

    target-i386: Disable HLE and RTM on Haswell & Broadwell
    
    All Haswell CPUs and some Broadwell CPUs were updated by Intel to have
    the HLE and RTM features disabled. This will prevent
    "-cpu Haswell,enforce" and "-cpu Broadwell,enforce" from running out of
    the box on those CPUs.
    
    Disable those features by default on Broadwell and Haswell CPU models,
    starting on pc-*-2.3. Users who want to use those features can enable
    them explicitly on the command-line.
    
    Signed-off-by: Eduardo Habkost <ehabkost>
    Signed-off-by: Paolo Bonzini <pbonzini>

Comment 4 Eduardo Habkost 2015-03-23 18:02:32 UTC
A new approach was implemented upstream, and that one may be easily backported to RHEL-6.7 easily and won't require a new machine-type.

commit a356850b80b3d13b2ef737dad2acb05e6da03753
Author: Eduardo Habkost <ehabkost>
Date:   Fri Mar 13 15:58:09 2015 -0300

    target-i386: Haswell-noTSX and Broadwell-noTSX
    
    With the Intel microcode update that removed HLE and RTM, there will be
    different kinds of Haswell and Broadwell CPUs out there: some that still
    have the HLE and RTM features, and some that don't have the HLE and RTM
    features. On both cases people may be willing to use the pc-*-2.3
    machine-types.
    
    So, to cover both cases, introduce Haswell-noTSX and Broadwell-noTSX CPU
    models, for hosts that have Haswell and Broadwell CPUs without TSX support.
    
    Reviewed-by: Daniel P. Berrange <berrange>
    Signed-off-by: Eduardo Habkost <ehabkost>

Comment 5 Eduardo Habkost 2015-03-23 18:33:09 UTC
Systems without the HLE and RTM feature flags will be simply reported as "SandyBridge + extra features" by libvirt.

Comment 6 Eduardo Habkost 2015-05-26 17:11:05 UTC
*** Bug 1224058 has been marked as a duplicate of this bug. ***

Comment 7 Ademar Reis 2015-06-10 14:00:41 UTC
*** Bug 1229432 has been marked as a duplicate of this bug. ***