From: Mingwei Zhang <mizhang@google.com>
To: Jim Mattson <jmattson@google.com>
Cc: kvm@vger.kernel.org, Sean Christopherson <seanjc@google.com>,
Paolo Bonzini <pbonzini@redhat.com>, Like Xu <likexu@tencent.com>,
Roman Kagan <rkagan@amazon.de>, Kan Liang <kan.liang@intel.com>,
Dapeng1 Mi <dapeng1.mi@intel.com>
Subject: Re: [PATCH 2/2] KVM: x86: Mask LVTPC when handling a PMI
Date: Sat, 2 Sep 2023 19:06:46 +0000 [thread overview]
Message-ID: <ZPOHxsdYhWdMRoyT@google.com> (raw)
In-Reply-To: <20230901185646.2823254-2-jmattson@google.com>
On Fri, Sep 01, 2023, Jim Mattson wrote:
> Per the SDM, "When the local APIC handles a performance-monitoring
> counters interrupt, it automatically sets the mask flag in the LVT
> performance counter register."
>
> Add this behavior to KVM's local APIC emulation, to reduce the
> incidence of "dazed and confused" spurious NMI warnings in Linux
> guests (at least, those that use a PMI handler with "late_ack").
>
> Fixes: 23930f9521c9 ("KVM: x86: Enable NMI Watchdog via in-kernel PIT source")
> Signed-off-by: Jim Mattson <jmattson@google.com>
Tested-by: Mingwei Zhang <mizhang@google.com>
I see consistent number of PMIs and NMIs when running perf on an idle
VM.
> ---
> arch/x86/kvm/lapic.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
> index a983a16163b1..1a79ec54ae1e 100644
> --- a/arch/x86/kvm/lapic.c
> +++ b/arch/x86/kvm/lapic.c
> @@ -2743,6 +2743,8 @@ int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type)
> vector = reg & APIC_VECTOR_MASK;
> mode = reg & APIC_MODE_MASK;
> trig_mode = reg & APIC_LVT_LEVEL_TRIGGER;
> + if (lvt_type == APIC_LVTPC)
> + kvm_lapic_set_reg(apic, lvt_type, reg | APIC_LVT_MASKED);
> return __apic_accept_irq(apic, mode, vector, 1, trig_mode,
> NULL);
> }
> --
> 2.42.0.283.g2d96d420d3-goog
>
next prev parent reply other threads:[~2023-09-02 19:06 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-01 18:56 [PATCH 1/2] KVM: x86: Synthesize at most one PMI per VM-exit Jim Mattson
2023-09-01 18:56 ` [PATCH 2/2] KVM: x86: Mask LVTPC when handling a PMI Jim Mattson
2023-09-02 19:06 ` Mingwei Zhang [this message]
2023-09-06 8:59 ` Mi, Dapeng1
2023-09-22 18:22 ` Sean Christopherson
2023-09-25 17:52 ` Jim Mattson
2023-09-25 18:00 ` Sean Christopherson
2023-09-02 19:05 ` [PATCH 1/2] KVM: x86: Synthesize at most one PMI per VM-exit Mingwei Zhang
2023-09-06 9:17 ` Mi, Dapeng
2023-09-06 20:54 ` Mingwei Zhang
2023-09-07 6:29 ` Mi, Dapeng
2023-09-14 11:57 ` Like Xu
2023-09-14 14:27 ` Sean Christopherson
2023-09-22 18:46 ` Sean Christopherson
2023-09-22 19:04 ` Jim Mattson
2023-09-22 19:21 ` Sean Christopherson
2023-09-22 20:25 ` Mingwei Zhang
2023-09-22 20:34 ` Sean Christopherson
2023-09-22 20:49 ` Mingwei Zhang
2023-09-22 21:02 ` Mingwei Zhang
2023-09-22 22:44 ` Sean Christopherson
2023-09-25 6:00 ` Mingwei Zhang
2023-09-25 19:54 ` Mingwei Zhang
2023-09-22 21:06 ` Sean Christopherson
2023-09-22 22:42 ` Mingwei Zhang
2023-09-22 23:00 ` Sean Christopherson
2023-09-25 6:09 ` Mingwei Zhang
2023-09-25 16:22 ` Mingwei Zhang
2023-09-25 17:06 ` Sean Christopherson
2023-09-25 7:06 ` Like Xu
2023-09-25 7:33 ` Like Xu
-- strict thread matches above, loose matches on Subject: below --
2023-09-25 17:34 [PATCH 0/2] Fix the duplicate PMI injections in vPMU Mingwei Zhang
2023-09-25 17:34 ` [PATCH 2/2] KVM: x86: Mask LVTPC when handling a PMI Mingwei Zhang
2023-09-25 17:52 ` Sean Christopherson
2023-09-25 19:34 ` Mingwei Zhang
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=ZPOHxsdYhWdMRoyT@google.com \
--to=mizhang@google.com \
--cc=dapeng1.mi@intel.com \
--cc=jmattson@google.com \
--cc=kan.liang@intel.com \
--cc=kvm@vger.kernel.org \
--cc=likexu@tencent.com \
--cc=pbonzini@redhat.com \
--cc=rkagan@amazon.de \
--cc=seanjc@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox