From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: Khushit Shah <khushit.shah@nutanix.com>
Cc: "seanjc@google.com" <seanjc@google.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Shaju Abraham <shaju.abraham@nutanix.com>
Subject: Re: [BUG] [KVM/VMX] Level triggered interrupts mishandled on Windows w/ nested virt(Credential Guard) when using split irqchip
Date: Mon, 08 Sep 2025 14:42:29 +0300 [thread overview]
Message-ID: <87wm69dvbu.fsf@redhat.com> (raw)
In-Reply-To: <D373804C-B758-48F9-8178-393034AF12DD@nutanix.com>
Khushit Shah <khushit.shah@nutanix.com> writes:
> Thanks you for the comments Vitaly!
>
>> On 8 Sep 2025, at 2:35 PM, Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
>>
>> Is there a specific reason to not enable any Hyper-V enlightenments for
>> your guest? For nested cases, features like Enightended VMCS
>> ('hv-evmcs'), 'hv-vapic', 'hv-apicv', ... can change Windows's behavior
>> a lot. I'd even suggest you start with 'hv-passthrough' to see if the
>> slowness goes away and if yes, then try to find the required set of
>> options you can use in your setup.
>
>
> Actually in production we use an extensive set of cpu features exposed to the guest, still the issue persists,
> With the following hv-* options also the issue is present:
> hypervisor=on,hv-time=on,hv-relaxed=on,hv-vapic=on,hv-spinlocks=0x2000,hv-vpindex=on,hv-runtime=on,hv-synic=on,
> hv-stimer=on,hv-tlbflush=on,hv-ipi=on,hv-evmcs=on
>
Try adding 'hv-apicv' (AKA 'hv-avic') to the list too (not to be
confused with 'hv-vapic').
>>
>> On 8 Sep 2025, at 2:35 PM, Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
>>
>> Single CPU Windows guests are always very slow, doubly so when running nested.
>
> The bug was reproducible even with more cpus like (4,8), we use 1 to reduce noise in captured logs.
>
> I should also mention by slow boot we mean extremely slow (>3h).
Oh, this is next level) Do you know if the issue reproduces with newer
Windows, e.g. 2025?
Also, I've just recalled I fixed (well, 'workarounded') an issue similar
to yours a while ago in QEMU:
commit 958a01dab8e02fc49f4fd619fad8c82a1108afdb
Author: Vitaly Kuznetsov <vkuznets@redhat.com>
Date: Tue Apr 2 10:02:15 2019 +0200
ioapic: allow buggy guests mishandling level-triggered interrupts to make progress
maybe something has changed and it doesn't work anymore?
--
Vitaly
next prev parent reply other threads:[~2025-09-08 11:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-05 15:26 [BUG] [KVM/VMX] Level triggered interrupts mishandled on Windows w/ nested virt(Credential Guard) when using split irqchip Khushit Shah
2025-09-08 9:05 ` Vitaly Kuznetsov
2025-09-08 11:19 ` Khushit Shah
2025-09-08 11:42 ` Vitaly Kuznetsov [this message]
2025-09-09 10:34 ` Khushit Shah
2025-09-10 8:34 ` Vitaly Kuznetsov
2025-09-10 9:39 ` David Woodhouse
2025-09-18 16:05 ` Khushit Shah
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=87wm69dvbu.fsf@redhat.com \
--to=vkuznets@redhat.com \
--cc=khushit.shah@nutanix.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=shaju.abraham@nutanix.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.