[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YuPmRbBcUp931KMP@google.com>
Date: Fri, 29 Jul 2022 13:53:09 +0000
From: Sean Christopherson <seanjc@...gle.com>
To: "Shukla, Santosh" <santosh.shukla@....com>
Cc: Paolo Bonzini <pbonzini@...hat.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>,
Maxim Levitsky <mlevitsk@...hat.com>,
Tom Lendacky <thomas.lendacky@....com>, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCHv2 5/7] KVM: SVM: Add VNMI support in inject_nmi
On Fri, Jul 29, 2022, Shukla, Santosh wrote:
> Hi Sean,
>
> On 7/21/2022 3:11 AM, Sean Christopherson wrote:
> > On Sat, Jul 09, 2022, Santosh Shukla wrote:
> >> + ++vcpu->stat.nmi_injections;
> >> + if (is_vnmi_enabled(svm)) {
> >> + vmcb = get_vnmi_vmcb(svm);
> >> + WARN_ON(vmcb->control.int_ctl & V_NMI_PENDING);
> >
> > Haven't read the spec, but based on the changelog I assume the flag doesn't get
> > cleared until the NMI is fully delivered. That means this WARN will fire if a
> > VM-Exit occurs during delivery as KVM will re-inject the event, e.g. if KVM is
> > using shadow paging and a #PF handle by KVM occurs during delivery.
> >
>
> Right,.
>
>
> For the above scenario i.e.. if VMEXIT happens during delivery of virtual NMI
> then EXITINTINFO will be set accordingly and V_NMI_MASK is saved as 0.
> hypervisor will re-inject event in next VMRUN.
>
> I just wanted to track above scenario,. I will replace it with pr_debug().
No, this is normal (albeit uncommon) behavior, don't print anything. Even if it
weren't normal behavior, pr_debug() is usually the wrong choice in KVM.
Powered by blists - more mailing lists