[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241222111726.GV11133@noisy.programming.kicks-ass.net>
Date: Sun, 22 Dec 2024 12:17:26 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Rik van Riel <riel@...riel.com>
Cc: x86@...nel.org, linux-kernel@...r.kernel.org, kernel-team@...a.com,
dave.hansen@...ux.intel.com, luto@...nel.org, tglx@...utronix.de,
mingo@...hat.com, bp@...en8.de, hpa@...or.com,
akpm@...ux-foundation.org
Subject: Re: [PATCH 05/10] x86,tlb: use INVLPGB in flush_tlb_all
On Sat, Dec 21, 2024 at 11:06:37PM -0500, Rik van Riel wrote:
> The flush_tlb_all() function is not used a whole lot, but we might
> as well use broadcast TLB flushing there, too.
>
> Signed-off-by: Rik van Riel <riel@...riel.com>
> ---
> arch/x86/mm/tlb.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
> index 09980fb17907..bf85cd0590d5 100644
> --- a/arch/x86/mm/tlb.c
> +++ b/arch/x86/mm/tlb.c
> @@ -1074,6 +1074,11 @@ static void do_flush_tlb_all(void *info)
> void flush_tlb_all(void)
> {
> count_vm_tlb_event(NR_TLB_REMOTE_FLUSH);
> + if (static_cpu_has(X86_FEATURE_INVLPGB)) {
guard(preempt)();
?
> + invlpgb_flush_all();
> + tlbsync();
> + return;
> + }
> on_each_cpu(do_flush_tlb_all, NULL, 1);
> }
>
> --
> 2.47.1
>
Powered by blists - more mailing lists