qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-devel@nongnu.org, Eduardo Habkost <ehabkost@redhat.com>
Subject: Re: [PATCH v4 00/19] i386: KVM: expand Hyper-V features early and provide simple 'hv-default=on' option
Date: Wed, 10 Feb 2021 16:56:06 +0000	[thread overview]
Message-ID: <20210210165606.GM1240644@redhat.com> (raw)
In-Reply-To: <20210210164033.607612-1-vkuznets@redhat.com>

On Wed, Feb 10, 2021 at 05:40:12PM +0100, Vitaly Kuznetsov wrote:
> Changes since v3:
> - Make 'hv-default' override 'hv-*' options which were already set 
>   (e.g. 'hv-feature=on,hv-default' case) [Igor]. Make 'hv-passthrough'
>   behave the same way.
> - Add "i386: be more picky about implicit 'hv-evmcs' enablement" patch to avoid
>   enabling 'hv-evmcs' with hv-default/hv-passthrough when guest CPU lacks VMX.
> - Add "i386: support 'hv-passthrough,hv-feature=off' on the command line" patch
>   to make 'hv-passthrough' semantics match the newly introduced 'hv-default'.
> - Add "i386: track explicit 'hv-*' features enablement/disablement" patch to
>   support the above mentioned changes.
> - Expand qtest to check the above mentioned improvements.
> 
> Original description:
> 
> Upper layer tools like libvirt want to figure out which Hyper-V features are
> supported by the underlying stack (QEMU/KVM) but currently they are unable to
> do so. We have a nice 'hv_passthrough' CPU flag supported by QEMU but it has
> no effect on e.g. QMP's 
> 
> query-cpu-model-expansion type=full model={"name":"host","props":{"hv-passthrough":true}}
> 
> command as we parse Hyper-V features after creating KVM vCPUs and not at
> feature expansion time. To support the use-case we first need to make 
> KVM_GET_SUPPORTED_HV_CPUID ioctl a system-wide ioctl as the existing
> vCPU version can't be used that early. This is what KVM part does. With
> that done, we can make early Hyper-V feature expansion (this series).
> 
> In addition, provide a simple 'hv-default' option which enables (and
> requires from KVM) all currently supported Hyper-V enlightenments.
> Unlike 'hv-passthrough' mode, this is going to be migratable.

How is it going to be migratable if the semantics vary depending on
the host kernel KVM reporting features, because different kernels
will expose different features ?

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



  parent reply	other threads:[~2021-02-10 17:03 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-10 16:40 [PATCH v4 00/19] i386: KVM: expand Hyper-V features early and provide simple 'hv-default=on' option Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 01/21] i386: keep hyperv_vendor string up-to-date Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 02/21] i386: invert hyperv_spinlock_attempts setting logic with hv_passthrough Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 03/21] i386: always fill Hyper-V CPUID feature leaves from X86CPU data Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 04/21] i386: stop using env->features[] for filling Hyper-V CPUIDs Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 05/21] i386: introduce hyperv_feature_supported() Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 06/21] i386: introduce hv_cpuid_get_host() Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 07/21] i386: drop FEAT_HYPERV feature leaves Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 08/21] i386: introduce hv_cpuid_cache Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 09/21] i386: split hyperv_handle_properties() into hyperv_expand_features()/hyperv_fill_cpuids() Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 10/21] i386: move eVMCS enablement to hyperv_init_vcpu() Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 11/21] i386: switch hyperv_expand_features() to using error_setg() Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 12/21] i386: adjust the expected KVM_GET_SUPPORTED_HV_CPUID array size Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 13/21] i386: prefer system KVM_GET_SUPPORTED_HV_CPUID ioctl over vCPU's one Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 14/21] i386: use global kvm_state in hyperv_enabled() check Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 15/21] i386: expand Hyper-V features during CPU feature expansion time Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 16/21] i386: track explicit 'hv-*' features enablement/disablement Vitaly Kuznetsov
2021-02-11 17:35   ` Igor Mammedov
2021-02-12  8:45     ` Vitaly Kuznetsov
2021-02-12 14:12       ` Igor Mammedov
2021-02-12 15:19         ` Vitaly Kuznetsov
2021-02-12 15:26           ` Vitaly Kuznetsov
2021-02-12 16:05             ` Igor Mammedov
2021-02-15  8:56               ` Vitaly Kuznetsov
2021-02-15 15:55                 ` Igor Mammedov
2021-02-15 17:05                   ` Igor Mammedov
2021-02-15 18:12                   ` Vitaly Kuznetsov
2021-02-12 16:01           ` Igor Mammedov
2021-02-15  8:53             ` Vitaly Kuznetsov
2021-02-15 10:48               ` Andrew Jones
2021-02-15 17:01               ` Igor Mammedov
2021-02-15 18:11                 ` Vitaly Kuznetsov
2021-02-22 10:20                   ` Vitaly Kuznetsov
2021-02-23 15:19                     ` Igor Mammedov
2021-02-23 15:46                       ` Vitaly Kuznetsov
2021-02-23 17:48                         ` Igor Mammedov
2021-02-23 18:08                           ` Vitaly Kuznetsov
2021-02-24 16:06                             ` Igor Mammedov
2021-02-24 17:00                               ` Vitaly Kuznetsov
2021-03-01 15:32                                 ` Igor Mammedov
2021-03-01 16:22                                   ` Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 17/21] i386: support 'hv-passthrough, hv-feature=off' on the command line Vitaly Kuznetsov
2021-02-11 17:14   ` Igor Mammedov
2021-02-12  8:49     ` Vitaly Kuznetsov
2021-02-12  9:29       ` David Edmondson
2021-02-12 13:52       ` Igor Mammedov
2021-02-10 16:40 ` [PATCH v4 18/21] i386: be more picky about implicit 'hv-evmcs' enablement Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 19/21] i386: introduce kvm_hv_evmcs_available() Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 20/21] i386: provide simple 'hv-default=on' option Vitaly Kuznetsov
2021-02-11 17:23   ` Igor Mammedov
2021-02-12  8:52     ` Vitaly Kuznetsov
2021-02-10 16:40 ` [PATCH v4 21/21] qtest/hyperv: Introduce a simple hyper-v test Vitaly Kuznetsov
2021-02-10 16:56 ` Daniel P. Berrangé [this message]
2021-02-10 17:46   ` [PATCH v4 00/19] i386: KVM: expand Hyper-V features early and provide simple 'hv-default=on' option Eduardo Habkost
2021-02-11  8:30     ` Vitaly Kuznetsov
2021-02-11  9:14       ` Daniel P. Berrangé
2021-02-11  9:34         ` Vitaly Kuznetsov
2021-02-11 10:14           ` Daniel P. Berrangé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210210165606.GM1240644@redhat.com \
    --to=berrange@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=vkuznets@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).