From: Sean Christopherson <seanjc@google.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, Paolo Bonzini <pbonzini@redhat.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>,
Simona Vetter <simona@ffwll.ch>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
dri-devel@lists.freedesktop.org,
Zheyun Shen <szy0127@sjtu.edu.cn>,
Tom Lendacky <thomas.lendacky@amd.com>,
Kevin Loughlin <kevinloughlin@google.com>,
Kai Huang <kai.huang@intel.com>,
Mingwei Zhang <mizhang@google.com>
Subject: Re: [PATCH v2 7/8] x86, lib: Add wbinvd and wbnoinvd helpers to target multiple CPUs
Date: Mon, 19 May 2025 09:34:38 -0700 [thread overview]
Message-ID: <aCtdnqqvIbHr-ed5@google.com> (raw)
In-Reply-To: <aCg0Xc9fEB2Qn5Th@gmail.com>
On Sat, May 17, 2025, Ingo Molnar wrote:
>
> * Sean Christopherson <seanjc@google.com> wrote:
>
> > From: Zheyun Shen <szy0127@sjtu.edu.cn>
> >
> > Extract KVM's open-coded calls to do writeback caches on multiple CPUs to
> > common library helpers for both WBINVD and WBNOINVD (KVM will use both).
> > Put the onus on the caller to check for a non-empty mask to simplify the
> > SMP=n implementation, e.g. so that it doesn't need to check that the one
> > and only CPU in the system is present in the mask.
> >
> > Signed-off-by: Zheyun Shen <szy0127@sjtu.edu.cn>
> > Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
> > Link: https://lore.kernel.org/r/20250128015345.7929-2-szy0127@sjtu.edu.cn
> > [sean: move to lib, add SMP=n helpers, clarify usage]
> > Acked-by: Kai Huang <kai.huang@intel.com>
> > Signed-off-by: Sean Christopherson <seanjc@google.com>
> > ---
> > arch/x86/include/asm/smp.h | 12 ++++++++++++
> > arch/x86/kvm/x86.c | 8 +-------
> > arch/x86/lib/cache-smp.c | 12 ++++++++++++
> > 3 files changed, 25 insertions(+), 7 deletions(-)
> >
> > diff --git a/arch/x86/include/asm/smp.h b/arch/x86/include/asm/smp.h
> > index e08f1ae25401..fe98e021f7f8 100644
> > --- a/arch/x86/include/asm/smp.h
> > +++ b/arch/x86/include/asm/smp.h
> > @@ -113,7 +113,9 @@ void native_play_dead(void);
> > void play_dead_common(void);
> > void wbinvd_on_cpu(int cpu);
> > void wbinvd_on_all_cpus(void);
> > +void wbinvd_on_many_cpus(struct cpumask *cpus);
> > void wbnoinvd_on_all_cpus(void);
> > +void wbnoinvd_on_many_cpus(struct cpumask *cpus);
>
> Let's go with the _on_cpumask() suffix:
>
> void wbinvd_on_cpu(int cpu);
> +void wbinvd_on_cpumask(struct cpumask *cpus);
> void wbinvd_on_all_cpus(void);
How about wbinvd_on_cpus_mask(), to make it more obvious that it operates on
multiple CPUs? At a glance, wbinvd_on_cpumask() could be mistaken for a masked
version of wbinvd_on_cpu().
next prev parent reply other threads:[~2025-05-19 16:34 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-16 21:28 [PATCH v2 0/8] x86, KVM: Optimize SEV cache flushing Sean Christopherson
2025-05-16 21:28 ` [PATCH v2 1/8] KVM: SVM: Remove wbinvd in sev_vm_destroy() Sean Christopherson
2025-05-16 21:28 ` [PATCH v2 2/8] drm/gpu: Remove dead checks on wbinvd_on_all_cpus()'s return value Sean Christopherson
2025-05-16 21:28 ` [PATCH v2 3/8] x86, lib: Drop the unused return value from wbinvd_on_all_cpus() Sean Christopherson
2025-05-17 6:47 ` Ingo Molnar
2025-05-16 21:28 ` [PATCH v2 4/8] x86, lib: Add WBNOINVD helper functions Sean Christopherson
2025-05-17 6:47 ` Ingo Molnar
2025-05-19 16:30 ` Sean Christopherson
2025-05-20 9:41 ` Ingo Molnar
2025-05-16 21:28 ` [PATCH v2 5/8] KVM: SEV: Prefer WBNOINVD over WBINVD for cache maintenance efficiency Sean Christopherson
2025-05-18 9:52 ` Francesco Lavra
2025-05-16 21:28 ` [PATCH v2 6/8] KVM: x86: Use wbinvd_on_cpu() instead of an open-coded equivalent Sean Christopherson
2025-05-16 21:28 ` [PATCH v2 7/8] x86, lib: Add wbinvd and wbnoinvd helpers to target multiple CPUs Sean Christopherson
2025-05-17 7:01 ` Ingo Molnar
2025-05-19 16:02 ` Sean Christopherson
2025-05-19 16:34 ` Sean Christopherson [this message]
2025-05-20 9:42 ` Ingo Molnar
2025-05-16 21:28 ` [PATCH v2 8/8] KVM: SVM: Flush cache only on CPUs running SEV guest Sean Christopherson
2025-05-19 17:48 ` Tom Lendacky
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=aCtdnqqvIbHr-ed5@google.com \
--to=seanjc@google.com \
--cc=airlied@gmail.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=kai.huang@intel.com \
--cc=kevinloughlin@google.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=mizhang@google.com \
--cc=mripard@kernel.org \
--cc=pbonzini@redhat.com \
--cc=simona@ffwll.ch \
--cc=szy0127@sjtu.edu.cn \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=tzimmermann@suse.de \
--cc=x86@kernel.org \
/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.