Description of problem: Missing default hv_stimer_direct, hv_ipi, hv_evmcs flags on RHV env. Version-Release number of selected component (if applicable): vdsm-4.40.80.4-1.el8ev.x86_64 ovirt-engine-4.4.8.3-0.10.el8ev.noarch How reproducible: 100% Steps to Reproduce: 1.Start a windows guest on rhel env 2.check the hyper-v flages Actual results: RHV windows guest hyper-v flags default. Compare with kvm team parameter: Missing : hv_stimer_direct, hv_ipi, hv_evmcs Extra added : hv-reset CPU flages on RHV env: -cpu Skylake-Client-noTSX-IBRS,ssbd=on,md-clear=on,mpx=off,hv-time,hv-relaxed,hv-vapic,hv-spinlocks=0x1fff,hv-vpindex,hv-runtime,hv-synic,hv-stimer,hv-reset,hv-frequencies,hv-reenlightenment,hv-tlbflush Expected results: suggest added the missing flags Additional info:
We can certainly add them (and remove hv-reset). If I'm looking correctly, the new flags should be available since AV 8.3, cluster level 4.5. Where can we find the authoritative source of the recommended flags? And I've seen somewhere that hv-evmcs may not work in all environments, is it safe and necessary to enable it?
(In reply to Milan Zamazal from comment #1) > We can certainly add them (and remove hv-reset). If I'm looking correctly, > the new flags should be available since AV 8.3, cluster level 4.5. > > Where can we find the authoritative source of the recommended flags? And > I've seen somewhere that hv-evmcs may not work in all environments, is it > safe and necessary to enable it? Basically, our suggestion is to enable everything. 'hv-reset' is not in the default set just because genuine Hyper-V doesn't have it there but it's not a problem to keep it on, it's just a different reset method. 'hv-evmcs' is Intel-specific, it cannot be enabled on AMD hosts. Also, 'hv-evmcs' and 'hv_stimer_direct' only benefit nested environments (Hyper-V or WSL2, for example) -- but it's safe to have them for all Windows guests. 'hv-ipi' is not related to nesting.
Thank you for clarification. So I'll add the requested flags (I think nothing else missing) and will keep hv-reset.
nh-evmcs prevents VMs from starting on hosts where nested virtualization is not enabled: Hyper-V enlightened VMCS (hv-evmcs) is not supported by kernel qemu-kvm: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Function not implemented Moreover, according to QEMU documentation, the effects of this flag are uncertain: "Some virtualization features (e.g. Posted Interrupts) are disabled when hv-evmcs is enabled. It may make sense to measure your nested workload with and without the feature to find out if enabling it is beneficial." So I think it's better to not enable this flag.
This bugzilla is included in oVirt 4.5.0 release, published on April 20th 2022. Since the problem described in this bug report should be resolved in oVirt 4.5.0 release, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report.