Bug 1663162

Summary: [RFE][Hyper-V] Configure Hyper-V enlightenments for Windows guests
Product: Container Native Virtualization (CNV) Reporter: Michal Skrivanek <michal.skrivanek>
Component: Guest SupportAssignee: Karel Šimon <ksimon>
Status: CLOSED ERRATA QA Contact: guy chen <guchen>
Severity: high Docs Contact:
Priority: high    
Version: 2.6.0CC: cnv-qe-bugs, fdeutsch, fromani, fsimonce, ipinto, ksimon, michal.skrivanek, ncredi, oyahud, rnetser, sgordon, sgott
Target Milestone: ---Keywords: FutureFeature, TestOnly
Target Release: 4.8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-07-27 14:20:49 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: 1620588    
Bug Blocks:    

Description Michal Skrivanek 2019-01-03 10:49:11 UTC
No Hyper-V enlightenments are passed to Windows guests by default, the default set lives in layered products. We need to do some performance benchmarking and come up with a 'recommendation' for them.

Currently, we have the following:
 hv-relaxed - windows activates it automatically when hypervisor CPU flag is present.
 hv-vapic - should speed things up in general (IRQs)
 hv-time - should speed things up significantly
 hv-crash - can we capture this info?
 hv-reset - rather redundant
 hv-vpindex - required for PV TLB flush/IPSs
 hv-runtime - for stats
 hv-synic - required for stimer
 hv-stimer - speed things up, especially with the latest Win10 update
 hv-frequencies - needed for Hyper-V on KVM (tsc page clocksource
 hv-reenlightenment - also needed for Hyper-V on KVM (tsc page clocksource)
 hv-tlbflush - speed things up in overcommited environments

We have another two in development: hv_vmcs and hv_ipi, we can discuss them when they're accepted upstream.

Comment 1 Fabian Deutsch 2019-01-08 13:15:56 UTC
This is something we'll need to include in libosinfo and the templates

Comment 2 Martin Sivák 2019-01-08 13:22:52 UTC
I have already asked for libosinfo and database schema to accomodate this kind of information.
See https://gitlab.com/libosinfo/osinfo-db/issues/17

Comment 3 Martin Sivák 2019-01-08 14:28:42 UTC
Please note synic and stimer are necessary for good performance of the latest Windows update (https://bugzilla.redhat.com/show_bug.cgi?id=1610461) and will require libvirt/qemu/host kernel update.

Comment 6 Fabian Deutsch 2019-05-07 12:45:14 UTC
Franecsco, I saw multiple fixes for hyperv getting merged, should this be in modified?

Comment 7 Francesco Romani 2019-05-07 13:07:46 UTC
(In reply to Fabian Deutsch from comment #6)
> Franecsco, I saw multiple fixes for hyperv getting merged, should this be in
> modified?

I think kubevirt core is fine, but for CNV we still need to update the templates and actually use the hyperv flags

Comment 11 Ruth Netser 2021-06-01 13:36:33 UTC
evmcs is tracked in bug 1952551
Other than that, the following flags are set in Windows templates:

frequencies: {}
ipi: {}
reenlightenment: {}
relaxed: {}
reset: {}
runtime: {}
spinlocks:
  spinlocks: 8191
synic: {}
synictimer:
  direct: {}
tlbflush: {}
vapic: {}
vpindex: {}

@ksimon 
hv-time and hv-crash are not included in the templates; is this intentional?

Comment 12 Ruth Netser 2021-06-02 12:04:23 UTC
@fdeutsch hv-time and hv-crash are not included in the templates; should we include these features as well?

Comment 13 Fabian Deutsch 2021-06-02 12:24:24 UTC
@ksimon please attach these two flags as different stories to https://issues.redhat.com/browse/CNV-11966 we should understand their use-case before adding them to the templates

Once tracked on the epic, this bug should be good

Comment 15 Ruth Netser 2021-06-02 14:26:23 UTC
Moving to verified.

Comment 18 errata-xmlrpc 2021-07-27 14:20:49 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: OpenShift Virtualization 4.8.0 Images), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:2920