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.