Bug 1877467

Summary: Provide simple boolean hyperv=on option with reasonable defaults
Product: Red Hat Enterprise Linux 9 Reporter: Eduardo Habkost <ehabkost>
Component: qemu-kvmAssignee: Vitaly Kuznetsov <vkuznets>
qemu-kvm sub component: CPU Models QA Contact: menli <menli>
Status: CLOSED WONTFIX Docs Contact:
Severity: unspecified    
Priority: low CC: chayang, jinzhao, juzhang, leidwang, virt-maint, vkuznets, yacao
Version: unspecifiedKeywords: RFE, Triaged
Target Milestone: rc   
Target Release: ---   
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: 2022-07-08 08:33:40 UTC Type: Enhancement
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version: 6.0
Embargoed:
Bug Depends On:    
Bug Blocks: 1624786, 1888750    

Description Eduardo Habkost 2020-09-09 17:05:01 UTC
The set of available hyperv options depend on the host kernel, but this doesn't mean we can't provide a reasonable default set of hyperv features with a simple hyperv=on option.

The default set of hyperv features can depend on the machine type, so new upstream machine types can start enabling newer features, and downstream we can define the default set of hyperv features by just adding compat properties to the rhel machine types.

This way, we'll be able to provide a more reasonable interface for enabling hyperv features (just a boolean option) instead of the complex hyperv flag configuration interface we have today.

Comment 1 Eduardo Habkost 2020-10-15 16:49:00 UTC
Vitaly, do you think we can target this for 8.4, or 8.4 is too soon?

Comment 3 Vitaly Kuznetsov 2020-10-19 09:30:37 UTC
(In reply to Eduardo Habkost from comment #1)
> Vitaly, do you think we can target this for 8.4, or 8.4 is too soon?

This depends on whether Paolo will be able to queue the required KVM
patches for 5.10 (will ping again today), in case he will it will on
depend on QEMU acceptance of my '[PATCH RFC v3 00/23] i386: KVM: expand
Hyper-V features early' series. I have no feedback to address ATM so
assuming this means 'looks good' :-)

Comment 7 Yu Wang 2021-04-15 09:03:44 UTC
Hi Vitaly,

I saw a enlightenment called "hv-passthrough".
Is it the same as "hyperv=on" in this bug?


  201 4. Development features
  202 ========================
  203 In some cases (e.g. during development) it may make sense to use QEMU in
  204 'pass-through' mode and give Windows guests all enlightenments currently
  205 supported by KVM. This pass-through mode is enabled by "hv-passthrough" CPU
  206 flag.
  207 Note: enabling this flag effectively prevents migration as supported features
  208 may differ between target and destination.

If this hyperv=on/hyper-passthrogh is ready, how to test this function?


reference:
https://fossies.org/linux/qemu/docs/hyperv.txt

Comment 8 Vitaly Kuznetsov 2021-04-15 09:07:12 UTC
It is not the same as 'hv-passthrough' is not migratable. Instread of a 'default set'
it gives you everything supported by KVM. 'hyperv=on' is still in works upstream.

Comment 9 Yu Wang 2021-04-20 05:45:40 UTC
Hi Vitaly

(In reply to Vitaly Kuznetsov from comment #8)
> It is not the same as 'hv-passthrough' is not migratable. Instread of a
> 'default set'
> it gives you everything supported by KVM. 'hyperv=on' is still in works
> upstream.

OK, got it. Need we cover hv-passthough for our tests?
If yes, how to test this enlightenment? And should we add hv-passthrogh
for our regular tests(not hv enlightenment specific) like hv-time/hv-vapic?


Thanks
Yu Wang

Comment 10 Vitaly Kuznetsov 2021-04-20 09:19:58 UTC
'hv-passthrough' enables all other hyper-v enlightenments (supported
by KVM), there is no point in mixing it with individual features like
'hv-time'/'hv-vapic' (as it is a superset).

'hv-passthrough' is a developer/debug feature, it is not supported
by libvirt so users should not use it. I don't think it deserves 
dedicated testing efforts.

Comment 11 Yu Wang 2021-04-20 09:43:26 UTC
(In reply to Vitaly Kuznetsov from comment #10)
> 'hv-passthrough' enables all other hyper-v enlightenments (supported
> by KVM), there is no point in mixing it with individual features like
> 'hv-time'/'hv-vapic' (as it is a superset).
> 
> 'hv-passthrough' is a developer/debug feature, it is not supported
> by libvirt so users should not use it. I don't think it deserves 
> dedicated testing efforts.

OK, got it, thanks a lot!

Comment 14 John Ferlan 2021-09-09 13:37:07 UTC
Bulk update: Move RHEL-AV bugs to RHEL9. If necessary to resolve in RHEL8, then clone to the current RHEL8 release.