From: Zhao Liu <zhao1.liu@intel.com>
To: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH RESEND v3 3/3] docs/system: Add recommendations to Hyper-V enlightenments doc
Date: Thu, 7 Mar 2024 16:33:47 +0800 [thread overview]
Message-ID: <Zel7612e3rSgcBjv@intel.com> (raw)
In-Reply-To: <20240305164204.525575-4-vkuznets@redhat.com>
Hi Vitaly,
On Tue, Mar 05, 2024 at 05:42:04PM +0100, Vitaly Kuznetsov wrote:
> Date: Tue, 5 Mar 2024 17:42:04 +0100
> From: Vitaly Kuznetsov <vkuznets@redhat.com>
> Subject: [PATCH RESEND v3 3/3] docs/system: Add recommendations to Hyper-V
> enlightenments doc
>
> While hyperv.rst already has all currently implemented Hyper-V
> enlightenments documented, it may be unclear what is the recommended set to
> achieve the best result. Add the corresponding section to the doc.
>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
> ---
> docs/system/i386/hyperv.rst | 30 ++++++++++++++++++++++++++++++
> 1 file changed, 30 insertions(+)
>
> diff --git a/docs/system/i386/hyperv.rst b/docs/system/i386/hyperv.rst
> index 009947e39141..1c1de77feb65 100644
> --- a/docs/system/i386/hyperv.rst
> +++ b/docs/system/i386/hyperv.rst
> @@ -283,6 +283,36 @@ Supplementary features
> feature alters this behavior and only allows the guest to use exposed Hyper-V
> enlightenments.
>
> +Recommendations
> +---------------
This guide is very helpful!
> +To achieve the best performance of Windows and Hyper-V guests and unless there
> +are any specific requirements (e.g. migration to older QEMU/KVM versions,
> +emulating specific Hyper-V version, ...), it is recommended to enable all
> +currently implemented Hyper-V enlightenments with the following exceptions:
> +
> +- ``hv-syndbg``, ``hv-passthrough``, ``hv-enforce-cpuid`` should not be enabled
> + in production configurations as these are debugging/development features.
> +- ``hv-reset`` can be avoided as modern Hyper-V versions don't expose it.
Does the "Hyper-V versions" means Hyper-V guest version or Microsoft's Hyper-V
hypervisor version? It would be better to clarify Hyper-V guest and
Hyper-v hypervisor.
And it would be better to have a clear version number.
> +- ``hv-evmcs`` can (and should) be enabled on Intel CPUs only. While the feature
> + is only used in nested configurations (Hyper-V, WSL2), enabling it for regular
> + Windows guests should not have any negative effects.
> +- ``hv-no-nonarch-coresharing`` must only be enabled if vCPUs are properly pinned
> + so no non-architectural core sharing is possible.
> +- ``hv-vendor-id``, ``hv-version-id-build``, ``hv-version-id-major``,
> + ``hv-version-id-minor``, ``hv-version-id-spack``, ``hv-version-id-sbranch``,
> + ``hv-version-id-snumber`` can be left unchanged, guests are not supposed to
> + behave differently when different Hyper-V version is presented to them.
> +- ``hv-crash`` must only be enabled if the crash information is consumed via
> + QAPI by higher levels of the virtualization stack. Enabling this feature
> + effectively prevents Windows from creating dumps upon crashes.
> +- ``hv-reenlightenment`` can only be used on hardware which supports TSC
> + scaling or when guest migration is not needed.
> +- ``hv-spinlocks`` should be set to e.g. 0xfff when host CPUs are overcommited
> + (meaning there are other scheduled tasks or guests) and can be left unchanged
> + from the default value (0xffffffff) otherwise.
> +- ``hv-avic``/``hv-apicv`` should not be enabled if the hardware does not
> + support APIC virtualization (Intel APICv, AMD AVIC).
>
It's also better to add blank lines between paragraphs above.
BTW, may I ask another Windows question? I understand that Windows such
as Windows 10 and later is already a virtualized architecture with
built-in Hyper-V to run root partation.
So is it true that booting Windows VM via KVM + QEMU is running Windows
Guest in L2? Or what is the relationship between Hyper-V within Windows
and Hyper-V enlightenments with QEMU + KVM?
Thanks,
Zhao
next prev parent reply other threads:[~2024-03-07 8:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-05 16:42 [PATCH RESEND v3 0/3] i386: Fix Hyper-V Gen1 guests stuck on boot with 'hv-passthrough' Vitaly Kuznetsov
2024-03-05 16:42 ` [PATCH RESEND v3 1/3] i386: Fix conditional CONFIG_SYNDBG enablement Vitaly Kuznetsov
2024-03-05 16:42 ` [PATCH RESEND v3 2/3] i386: Exclude 'hv-syndbg' from 'hv-passthrough' Vitaly Kuznetsov
2024-03-05 16:42 ` [PATCH RESEND v3 3/3] docs/system: Add recommendations to Hyper-V enlightenments doc Vitaly Kuznetsov
2024-03-07 8:33 ` Zhao Liu [this message]
2024-03-07 9:46 ` Vitaly Kuznetsov
2024-03-07 13:24 ` Zhao Liu
2024-03-25 9:28 ` [PATCH RESEND v3 0/3] i386: Fix Hyper-V Gen1 guests stuck on boot with 'hv-passthrough' Vitaly Kuznetsov
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=Zel7612e3rSgcBjv@intel.com \
--to=zhao1.liu@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.