From: Thomas Gleixner <tglx@kernel.org>
To: Chuyi Zhou <zhouchuyi@bytedance.com>,
mingo@redhat.com, luto@kernel.org, peterz@infradead.org,
paulmck@kernel.org, muchun.song@linux.dev, bp@alien8.de,
dave.hansen@linux.intel.com, pbonzini@redhat.com,
bigeasy@linutronix.de, clrkwllms@kernel.org, rostedt@goodmis.org,
nadav.amit@gmail.com, vkuznets@redhat.com
Cc: linux-kernel@vger.kernel.org, Chuyi Zhou <zhouchuyi@bytedance.com>
Subject: Re: [PATCH v8 11/14] x86/mm: Cap flush_tlb_info alignment at 64 bytes
Date: Fri, 26 Jun 2026 16:49:33 +0200 [thread overview]
Message-ID: <87mrwhicg2.ffs@fw13> (raw)
In-Reply-To: <20260616111127.966468-12-zhouchuyi@bytedance.com>
On Tue, Jun 16 2026 at 19:11, Chuyi Zhou wrote:
> A stack allocated flush_tlb_info should keep cacheline alignment to
> avoid the regression that motivated the per-CPU storage, but using
> SMP_CACHE_BYTES directly can make the stack frame grow excessively on
> configurations with large cache lines[1].
>
> Add FLUSH_TLB_INFO_ALIGN and cap the type alignment at 64 bytes. The
> existing per-CPU flush_tlb_info instance remains
> DEFINE_PER_CPU_SHARED_ALIGNED(), so its per-CPU shared-cacheline
> alignment is unchanged.
>
> The capped type alignment matters once flush_tlb_info is moved back to the
> stack by the next patch.
This prepares for moving it back to the stack ....
> link[1]: https://lore.kernel.org/all/tip-780e0106d468a2962b16b52fdf42898f2639e0a0@git.kernel.org/
This is not a documented tag. Please don't invent random tags just
because. Aside of that this lore link is silly. What's wrong with
referencing the commit?
.. excessively on configurations with large cache lines, which was
addressed in commit 780e0106d4 "....".
Hmm?
> Signed-off-by: Chuyi Zhou <zhouchuyi@bytedance.com>
> ---
> arch/x86/include/asm/tlbflush.h | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h
> index 0545fe75c3fa..5889a6c4e956 100644
> --- a/arch/x86/include/asm/tlbflush.h
> +++ b/arch/x86/include/asm/tlbflush.h
> @@ -4,6 +4,7 @@
>
> #include <linux/mm_types.h>
> #include <linux/mmu_notifier.h>
> +#include <linux/minmax.h>
> #include <linux/sched.h>
>
> #include <asm/barrier.h>
> @@ -211,6 +212,8 @@ extern u16 invlpgb_count_max;
>
> extern void initialize_tlbstate_and_flush(void);
>
> +#define FLUSH_TLB_INFO_ALIGN MIN(SMP_CACHE_BYTES, 64)
This wants a comment.
> /*
> * TLB flushing:
> *
> @@ -249,7 +252,7 @@ struct flush_tlb_info {
> u8 stride_shift;
> u8 freed_tables;
> u8 trim_cpumask;
> -};
> +} __aligned(FLUSH_TLB_INFO_ALIGN);
>
> void flush_tlb_local(void);
> void flush_tlb_one_user(unsigned long addr);
next prev parent reply other threads:[~2026-06-26 14:49 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-16 11:11 [PATCH v8 00/14] Allow preemption during IPI completion waiting to improve real-time performance Chuyi Zhou
2026-06-16 11:11 ` [PATCH v8 01/14] smp: Disable preemption explicitly in __csd_lock_wait() Chuyi Zhou
2026-06-26 13:38 ` Thomas Gleixner
2026-06-16 11:11 ` [PATCH v8 02/14] smp: Enable preemption early in smp_call_function_single() Chuyi Zhou
2026-06-26 13:44 ` Thomas Gleixner
2026-06-16 11:11 ` [PATCH v8 03/14] smp: Refactor remote CPU selection in smp_call_function_any() Chuyi Zhou
2026-06-26 13:49 ` Thomas Gleixner
2026-06-16 11:11 ` [PATCH v8 04/14] smp: Use task-local IPI cpumask in smp_call_function_many_cond() Chuyi Zhou
2026-06-26 14:29 ` Thomas Gleixner
2026-06-26 15:47 ` Chuyi Zhou
2026-06-26 16:07 ` Chuyi Zhou
2026-06-26 19:07 ` Thomas Gleixner
2026-06-27 0:52 ` Chuyi Zhou
2026-06-16 11:11 ` [PATCH v8 05/14] smp: Alloc percpu csd data in smpcfd_prepare_cpu() only once Chuyi Zhou
2026-06-26 14:32 ` Thomas Gleixner
2026-06-16 11:11 ` [PATCH v8 06/14] smp: Enable preemption early in smp_call_function_many_cond() Chuyi Zhou
2026-06-26 14:40 ` Thomas Gleixner
2026-06-16 11:11 ` [PATCH v8 07/14] smp: Remove preempt_disable() from smp_call_function() Chuyi Zhou
2026-06-26 14:42 ` Thomas Gleixner
2026-06-16 11:11 ` [PATCH v8 08/14] smp: Remove preempt_disable() from on_each_cpu_cond_mask() Chuyi Zhou
2026-06-16 11:11 ` [PATCH v8 09/14] scftorture: Remove preempt_disable() in scftorture_invoke_one() Chuyi Zhou
2026-06-26 14:44 ` Thomas Gleixner
2026-06-16 11:11 ` [PATCH v8 10/14] x86/mm: Factor out flush_tlb_info initialization Chuyi Zhou
2026-06-16 13:14 ` Sebastian Andrzej Siewior
2026-06-16 11:11 ` [PATCH v8 11/14] x86/mm: Cap flush_tlb_info alignment at 64 bytes Chuyi Zhou
2026-06-16 13:20 ` Sebastian Andrzej Siewior
2026-06-16 15:36 ` Chuyi Zhou
2026-06-26 14:49 ` Thomas Gleixner [this message]
2026-06-16 11:11 ` [PATCH v8 12/14] x86/mm: Move flush_tlb_info back to the stack Chuyi Zhou
2026-06-26 14:57 ` Thomas Gleixner
2026-06-16 11:11 ` [PATCH v8 13/14] x86/kvm: Disable preemption in kvm_flush_tlb_multi() Chuyi Zhou
2026-06-16 13:46 ` Sebastian Andrzej Siewior
2026-06-16 11:11 ` [PATCH v8 14/14] x86/mm: Re-enable preemption before flush_tlb_multi() Chuyi Zhou
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=87mrwhicg2.ffs@fw13 \
--to=tglx@kernel.org \
--cc=bigeasy@linutronix.de \
--cc=bp@alien8.de \
--cc=clrkwllms@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=muchun.song@linux.dev \
--cc=nadav.amit@gmail.com \
--cc=paulmck@kernel.org \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=vkuznets@redhat.com \
--cc=zhouchuyi@bytedance.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.