Bug 1313877

Summary: Flag invtsc unusable on Xeon Westmere
Product: Red Hat Enterprise Linux 7 Reporter: jblume <jblume>
Component: libvirtAssignee: Jiri Denemark <jdenemar>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 7.2CC: dbaek, djdumas, dyuan, helge.deller, jberan, jblume, jdenemar, jtomko, lhuang, linux, peter.engel, rbalakri
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-06 21:14:33 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:
Attachments:
Description Flags
Output of virsh capabilities
none
output of cat /proc/cpuinfo none

Description jblume@redhat.com 2016-03-02 14:17:42 UTC
Description of problem:
When trying to set up a virtual machine on a CPU E7-8870 (Westmere) it shows that the invtsc feature cannot be used inside the domain XML. According to the output of
# virsh capabilities
this should be the case.

Version-Release number of selected component (if applicable):
- kernel-3.10.0-327.10.1.el7.x86_64
- libvirt-1.2.17-13.el7_2.3

How reproducible:
Set up a RHEL7.2 VM on an RHEL7.2 hypervisor

Steps to Reproduce:
1. Install the VM
2. Start it with <cpu mode='host-model'> inside XML
3. The flag nonstop_tsc isn't present in /proc/cpuinfo as invtsc is missing
4. Add to XML: <feature policy='require' name='invtsc'/>
5. Try to start the VM with virsh start <domain>

Actual results:
Error message:
error: Failed to start domain ls3059v1
error: unsupported configuration: host doesn't support invariant TSC

Expected results:
VM starts

Additional info:

Comment 2 Jiri Denemark 2016-03-02 14:40:12 UTC
Would you mind sharing the output of virsh capabilities and /proc/cpuinfo from the host?

Comment 3 jblume@redhat.com 2016-03-02 15:02:00 UTC
Created attachment 1132364 [details]
Output of virsh capabilities

Comment 4 jblume@redhat.com 2016-03-02 15:02:55 UTC
Created attachment 1132365 [details]
output of cat /proc/cpuinfo

Comment 5 djdumas 2016-03-17 16:01:18 UTC
This appears to also be the case for Sandy Bridge.  I have the same setup - RHEL 7.2 host, virsh capabilities does show invtsc, I added to my xml as <feature policy='require' name='invtsc'/> and get no errors at define or guest start up.

I do not see invtsc in /proc/cpuinfo for either the host or guest.  The qemu process does not have it either.

Dave

Comment 6 Ján Tomko 2016-03-18 13:25:10 UTC
The RHEL7 hypervisor (qemu-kvm from the qemu-kvm package) does not support invtsc.
The support is only in the RHEV hypervisor (qemu-kvm from the qemu-kvm-rhev package). I suggest closing this as NOTABUG.

The feature shows in /proc/cpuinfo as nonstop_tsc, not invtsc.

Comment 7 jblume@redhat.com 2016-03-22 17:58:06 UTC
Thanks to Jan Tomko we now have a reliable status about qemu-kvm in RHEL7.2.
What we checked out now:
1. Subscribed the system to the RHEV channel
2. Installed the quemu-kvm-rhev package which updated qemu-kvm
3. Switched the guest off and on again
4. The desired CPU flags {constant,nonstop}_tsc are now visible within the guest.

So we can close this bug for now. Thank you all.

Comment 8 Siddharth Nagar 2016-04-06 21:14:33 UTC
Closing as per comment #7

Comment 9 jiyan 2018-09-04 08:01:43 UTC
*** Bug 1625014 has been marked as a duplicate of this bug. ***