Bug 1117465 - RFE: track OS hyper-v enlightenment support
Summary: RFE: track OS hyper-v enlightenment support
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: Virtualization Tools
Classification: Community
Component: libosinfo
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Cole Robinson
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-08 18:36 UTC by Cole Robinson
Modified: 2019-03-29 00:10 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-03-29 00:10:56 UTC
Embargoed:


Attachments (Terms of Use)

Description Cole Robinson 2014-07-08 18:36:36 UTC
(cloned from boxes bug here: https://bugzilla.gnome.org/show_bug.cgi?id=732811 )

hyper-v enlightenments are paravirt optimizations that Windows VMs will use when they detect they are running on hyper-v. These bits add performance improvements Some of these optimizations can also be turned on with KVM. Some more info:

http://www.linux-kvm.org/wiki/images/0/0a/2012-forum-kvm_hyperv.pdf

After some off-list discussion with the KVM devs, here's the recommended configuration. Suggest to enable it for Windows VMs only. All Windows VMs is easiest and should be safe, but the only versions which start to support these bits are Vista+ and Server 2008+

The recommended qemu configuration is:

   -cpu ...,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time

Which maps to the libvirt XML:

   <features>
     <hyperv>
       <relaxed state='on'/>
       <vapic state='on'/>
       <spinlocks state='on' retries='8191'/>
     </hyperv>
   <features/>

   <clock ...>
     <timer name='hypervclock' present='yes'/>
   </clock>

Though there are some version caveats here:
- relaxed state='on' libvirt 1.0.0+, qemu 1.1+
- vapic, spinlocks requires libvirt 1.1.0+, qemu 1.1+
- hypervclock requires libvirt 1.2.2+, qemu 2.0.0+

AFAIK it should be safe to mix the hypervclock setting the other recommended timer settings (mentioned at https://bugzilla.redhat.com/show_bug.cgi?id=1053846 )


--- Comment #1 from Zeeshan Ali (Khattak) <zeeshanak> 2014-07-08 18:33:16 UTC ---
I think this info should be coming through libosinfo. Could you please file a
bug on that too.

Comment 2 Cole Robinson 2018-09-26 14:40:47 UTC
libosinfo likely shouldn't be determining the actual libvirt XML config here, but I think it should be tracking what hyperv features the OS supports. Likely requires new XML schema though as I'm not sure if it maps to the <device> concept

Comment 3 Cole Robinson 2019-03-29 00:10:56 UTC
There's an issue in the new upstream tracker that is already tracking this: https://gitlab.com/libosinfo/libosinfo/issues/9


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