Bug 1663162 - [RFE][Hyper-V] Configure Hyper-V enlightenments for Windows guests
Summary: [RFE][Hyper-V] Configure Hyper-V enlightenments for Windows guests
Alias: None
Product: Container Native Virtualization (CNV)
Classification: Red Hat
Component: Guest Support
Version: 2.6.0
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: 4.8.0
Assignee: Karel Šimon
QA Contact: guy chen
Depends On: 1620588
TreeView+ depends on / blocked
Reported: 2019-01-03 10:49 UTC by Michal Skrivanek
Modified: 2021-07-20 12:57 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed:
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Github kubevirt common-templates pull 283 0 None closed enable Hyper-V flags 2020-12-23 13:09:25 UTC
Gitlab libosinfo/osinfo-db/issues/17 0 None None None 2019-01-08 13:22:51 UTC

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: 8191
synic: {}
  direct: {}
tlbflush: {}
vapic: {}
vpindex: {}

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@redhat.com 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@redhat.com 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.

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