From: Sean Christopherson <seanjc@google.com>
To: Sohil Mehta <sohil.mehta@intel.com>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
Xin Li <xin@zytor.com>, "H . Peter Anvin" <hpa@zytor.com>,
Andy Lutomirski <luto@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
Peter Zijlstra <peterz@infradead.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
Tony Luck <tony.luck@intel.com>, Zhang Rui <rui.zhang@intel.com>,
Steven Rostedt <rostedt@goodmis.org>,
Andrew Cooper <andrew.cooper3@citrix.com>,
"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
Jacob Pan <jacob.pan@linux.microsoft.com>,
Andi Kleen <ak@linux.intel.com>, Kai Huang <kai.huang@intel.com>,
Sandipan Das <sandipan.das@amd.com>,
linux-perf-users@vger.kernel.org, linux-edac@vger.kernel.org,
kvm@vger.kernel.org, linux-pm@vger.kernel.org,
linux-trace-kernel@vger.kernel.org
Subject: Re: [PATCH v6 1/9] x86/fred, KVM: VMX: Pass event data to the FRED entry point from KVM
Date: Thu, 15 May 2025 18:15:43 -0700 [thread overview]
Message-ID: <aCaRvwnkXf07Mtue@google.com> (raw)
In-Reply-To: <e12abcca-b7b4-404d-b379-8636e5b68813@intel.com>
On Wed, May 14, 2025, Sohil Mehta wrote:
> On 5/14/2025 7:15 AM, Sean Christopherson wrote:
> > Compile tested only...
> >
>
> No worries. I'll test it out. I am assuming you want this patch to go as
> part of this series.
Yes please. I can also post it separately, but that seems unnecessary.
> > --
> > From: Sean Christopherson <seanjc@google.com>
> > Date: Wed, 14 May 2025 07:07:55 -0700
> > Subject: [PATCH] x86/fred: Provide separate IRQ vs. NMI wrappers for "entry"
> > from KVM
> >
> > Provide separate wrappers for forwarding IRQs vs NMIs from KVM in
> > anticipation of adding support for NMI source reporting, which will add
> > an NMI-only parameter, i.e. will further pollute the current API with a
> > param that is a hardcoded for one of the two call sites.
> >
> > Opportunistically tag the non-FRED NMI wrapper __always_inline, as the
> > compiler could theoretically generate a function call and trigger and a
> > (completely benign) "leaving noinstr" warning.
> >
>
> If this is really a concern, wouldn't there be similar semantics in
> other places as well?
There are, e.g. the stubs in include/linux/context_tracking_state.h and many
other places. It looks ridiculous, but the compiler will generate RET+CALL for
literal nops if the right sanitizers are enabled. E.g. see commit
432727f1cb6e ("KVM: VMX: Always inline to_vmx() and to_kvm_vmx()").
> > @@ -70,14 +71,26 @@ __visible void fred_entry_from_user(struct pt_regs *regs);
> > __visible void fred_entry_from_kernel(struct pt_regs *regs);
> > __visible void __fred_entry_from_kvm(struct pt_regs *regs);
> >
> > -/* Can be called from noinstr code, thus __always_inline */
> > -static __always_inline void fred_entry_from_kvm(unsigned int type, unsigned int vector)
> > +/* Must be called from noinstr code, thus __always_inline */
> > +static __always_inline void fred_nmi_from_kvm(void)
> > {
> > struct fred_ss ss = {
> > .ss =__KERNEL_DS,
> > - .type = type,
> > + .type = EVENT_TYPE_NMI,
> > + .vector = NMI_VECTOR,
> > + .nmi = true,
> > + .lm = 1,
> > + };
> > +
> > + asm_fred_entry_from_kvm(ss);
> > +}
> > +
>
> The original code uses spaces for alignment. Since we are modifying it,
> I am thinking of changing it to tabs.
Oof, yeah, definitely do that.
next prev parent reply other threads:[~2025-05-16 1:15 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-13 20:37 [PATCH v6 0/9] x86: Add support for NMI-source reporting with FRED Sohil Mehta
2025-05-13 20:37 ` [PATCH v6 1/9] x86/fred, KVM: VMX: Pass event data to the FRED entry point from KVM Sohil Mehta
2025-05-14 14:15 ` Sean Christopherson
2025-05-14 21:34 ` Sohil Mehta
2025-05-16 1:15 ` Sean Christopherson [this message]
2025-06-02 20:45 ` Sohil Mehta
2025-05-13 20:37 ` [PATCH v6 2/9] x86/cpufeatures: Add the CPUID feature bit for NMI-source reporting Sohil Mehta
2025-05-13 20:37 ` [PATCH v6 3/9] x86/nmi: Extend the registration interface to include the NMI-source vector Sohil Mehta
2025-06-03 7:23 ` Xin Li
2025-06-03 17:35 ` Sohil Mehta
2025-06-03 17:07 ` Dave Hansen
2025-06-03 18:02 ` Sohil Mehta
2025-06-03 18:19 ` Dave Hansen
2025-06-03 20:24 ` Sohil Mehta
2025-05-13 20:37 ` [PATCH v6 4/9] x86/nmi: Assign and register NMI-source vectors Sohil Mehta
2025-06-03 16:34 ` Xin Li
2025-06-03 21:45 ` Sohil Mehta
2025-06-04 15:28 ` H. Peter Anvin
2025-06-11 21:34 ` Sohil Mehta
2025-06-03 17:23 ` Dave Hansen
2025-06-03 20:22 ` Sohil Mehta
2025-06-03 21:54 ` Dave Hansen
2025-06-03 22:33 ` Sohil Mehta
2025-06-04 15:22 ` H. Peter Anvin
2025-05-13 20:37 ` [PATCH v6 5/9] x86/nmi: Add support to handle NMIs with source information Sohil Mehta
2025-06-03 16:53 ` Xin Li
2025-05-13 20:38 ` [PATCH v6 6/9] x86/nmi: Prepare for the new NMI-source vector encoding Sohil Mehta
2025-05-13 20:38 ` [PATCH v6 7/9] x86/nmi: Enable NMI-source for IPIs delivered as NMIs Sohil Mehta
2025-05-13 20:38 ` [PATCH v6 8/9] perf/x86: Enable NMI-source reporting for perfmon Sohil Mehta
2025-06-03 16:57 ` Xin Li
2025-05-13 20:38 ` [PATCH v6 9/9] x86/nmi: Print source information with the unknown NMI console message Sohil Mehta
2025-06-03 16:55 ` Xin Li
2025-06-04 1:55 ` Sohil Mehta
2025-06-04 2:41 ` Xin Li
2025-06-04 15:41 ` H. Peter Anvin
2025-06-11 21:39 ` Sohil Mehta
2025-06-04 15:29 ` H. Peter Anvin
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=aCaRvwnkXf07Mtue@google.com \
--to=seanjc@google.com \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=andrew.cooper3@citrix.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jacob.pan@linux.microsoft.com \
--cc=kai.huang@intel.com \
--cc=kan.liang@linux.intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=rui.zhang@intel.com \
--cc=sandipan.das@amd.com \
--cc=sohil.mehta@intel.com \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
--cc=xin@zytor.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.