On 7/29/2022 7:23 PM, Sean Christopherson wrote: > 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 Ok. Thanks, Santosh > weren't normal behavior, pr_debug() is usually the wrong choice in KVM.