From: Qi Zheng <qi.zheng@linux.dev>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: david@kernel.org, andreas@gaisler.com, richard.weiyang@gmail.com,
will@kernel.org, peterz@infradead.org, aneesh.kumar@kernel.org,
npiggin@gmail.com, dev.jain@arm.com, ioworker0@gmail.com,
linmag7@gmail.com, linux-arch@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-alpha@vger.kernel.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
linux-um@lists.infradead.org, sparclinux@vger.kernel.org,
Qi Zheng <zhengqi.arch@bytedance.com>
Subject: Re: [PATCH v4 0/8] enable PT_RECLAIM on more 64-bit architectures
Date: Wed, 28 Jan 2026 10:07:22 +0800 [thread overview]
Message-ID: <4c171a25-e395-4f83-b767-18525fffbee3@linux.dev> (raw)
In-Reply-To: <20260127124642.480123beb01ebb487f986a09@linux-foundation.org>
On 1/28/26 4:46 AM, Andrew Morton wrote:
> On Tue, 27 Jan 2026 20:12:53 +0800 Qi Zheng <qi.zheng@linux.dev> wrote:
>
>> This series aims to enable PT_RECLAIM on more 64-bit architectures.
>
> Thanks, I updated mm.git's mm-unstable branch to v4.
>
>> Changes in v4:
>> - convert __HAVE_ARCH_TLB_REMOVE_TABLE to CONFIG_HAVE_ARCH_TLB_REMOVE_TABLE config
>> - fix a WARN_ON_ONCE() on sparc64 (and on ppc)
>> (reported by Andreas Larsson)
>> - collect Acked-by (Hi David, I've kept your Acked-by, feel free to drop it)
>> - rebase onto the v6.19-rc7
>>
>
> Below is how v4 altered mm.git.
>
> I'm not seeing the WARN_ON_ONCE() fix. I assume that was due to the
> Kconfig alterations?
Yes, sparc64 and ppc will select HAVE_ARCH_TLB_REMOVE_TABLE, so
PT_RECLAIM will not be enabled. This means it won't affect
sparc64 and ppc, and will not trigger WARN_ON_ONCE().
I don't have a testing environment for sparc64 and ppc, but I
expect it should be able to fix the WARN_ON_ONCE().
Thanks,
Qi
>
>
>
> --- a/arch/powerpc/include/asm/tlb.h~b
> +++ a/arch/powerpc/include/asm/tlb.h
> @@ -37,7 +37,6 @@ extern void tlb_flush(struct mmu_gather
> */
> #define tlb_needs_table_invalidate() radix_enabled()
>
> -#define __HAVE_ARCH_TLB_REMOVE_TABLE
> /* Get the generic bits... */
> #include <asm-generic/tlb.h>
>
> --- a/arch/powerpc/Kconfig~b
> +++ a/arch/powerpc/Kconfig
> @@ -305,6 +305,7 @@ config PPC
> select LOCK_MM_AND_FIND_VMA
> select MMU_GATHER_PAGE_SIZE
> select MMU_GATHER_RCU_TABLE_FREE
> + select HAVE_ARCH_TLB_REMOVE_TABLE
> select MMU_GATHER_MERGE_VMAS
> select MMU_LAZY_TLB_SHOOTDOWN if PPC_BOOK3S_64
> select MODULES_USE_ELF_RELA
> --- a/arch/sparc/include/asm/tlb_64.h~b
> +++ a/arch/sparc/include/asm/tlb_64.h
> @@ -33,7 +33,6 @@ void flush_tlb_pending(void);
> #define tlb_needs_table_invalidate() (false)
> #endif
>
> -#define __HAVE_ARCH_TLB_REMOVE_TABLE
> #include <asm-generic/tlb.h>
>
> #endif /* _SPARC64_TLB_H */
> --- a/arch/sparc/Kconfig~b
> +++ a/arch/sparc/Kconfig
> @@ -74,6 +74,7 @@ config SPARC64
> select HAVE_KRETPROBES
> select HAVE_KPROBES
> select MMU_GATHER_RCU_TABLE_FREE if SMP
> + select HAVE_ARCH_TLB_REMOVE_TABLE if SMP
> select MMU_GATHER_MERGE_VMAS
> select MMU_GATHER_NO_FLUSH_CACHE
> select HAVE_ARCH_TRANSPARENT_HUGEPAGE
> --- a/include/asm-generic/tlb.h~b
> +++ a/include/asm-generic/tlb.h
> @@ -213,7 +213,7 @@ struct mmu_table_batch {
> #define MAX_TABLE_BATCH \
> ((PAGE_SIZE - sizeof(struct mmu_table_batch)) / sizeof(void *))
>
> -#ifndef __HAVE_ARCH_TLB_REMOVE_TABLE
> +#ifndef CONFIG_HAVE_ARCH_TLB_REMOVE_TABLE
> static inline void __tlb_remove_table(void *table)
> {
> struct ptdesc *ptdesc = (struct ptdesc *)table;
> --- a/mm/Kconfig~b
> +++ a/mm/Kconfig
> @@ -1448,9 +1448,12 @@ config ARCH_HAS_USER_SHADOW_STACK
> The architecture has hardware support for userspace shadow call
> stacks (eg, x86 CET, arm64 GCS or RISC-V Zicfiss).
>
> +config HAVE_ARCH_TLB_REMOVE_TABLE
> + def_bool n
> +
> config PT_RECLAIM
> def_bool y
> - depends on MMU_GATHER_RCU_TABLE_FREE
> + depends on MMU_GATHER_RCU_TABLE_FREE && !HAVE_ARCH_TLB_REMOVE_TABLE
> help
> Try to reclaim empty user page table pages in paths other than munmap
> and exit_mmap path.
> _
>
prev parent reply other threads:[~2026-01-28 2:07 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-27 12:12 [PATCH v4 0/8] enable PT_RECLAIM on more 64-bit architectures Qi Zheng
2026-01-27 12:12 ` [PATCH v4 1/8] mm: change mm/pt_reclaim.c to use asm/tlb.h instead of asm-generic/tlb.h Qi Zheng
2026-01-27 12:12 ` [PATCH v4 2/8] alpha: mm: enable MMU_GATHER_RCU_TABLE_FREE Qi Zheng
2026-02-01 22:01 ` Magnus Lindholm
2026-01-27 12:12 ` [PATCH v4 3/8] LoongArch: " Qi Zheng
2026-01-27 12:12 ` [PATCH v4 4/8] mips: " Qi Zheng
2026-01-27 12:12 ` [PATCH v4 5/8] parisc: " Qi Zheng
2026-02-07 2:34 ` Helge Deller
2026-01-27 12:12 ` [PATCH v4 6/8] um: " Qi Zheng
2026-01-27 12:13 ` [PATCH v4 7/8] mm: convert __HAVE_ARCH_TLB_REMOVE_TABLE to CONFIG_HAVE_ARCH_TLB_REMOVE_TABLE config Qi Zheng
2026-02-06 11:06 ` David Hildenbrand (Arm)
2026-02-06 11:13 ` Qi Zheng
2026-02-06 11:45 ` David Hildenbrand (Arm)
2026-02-06 11:58 ` Qi Zheng
2026-02-06 12:59 ` David Hildenbrand (Arm)
2026-02-06 13:33 ` Andreas Larsson
2026-01-27 12:13 ` [PATCH v4 8/8] mm: make PT_RECLAIM depends on MMU_GATHER_RCU_TABLE_FREE Qi Zheng
2026-01-27 20:46 ` [PATCH v4 0/8] enable PT_RECLAIM on more 64-bit architectures Andrew Morton
2026-01-28 2:07 ` Qi Zheng [this message]
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=4c171a25-e395-4f83-b767-18525fffbee3@linux.dev \
--to=qi.zheng@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=andreas@gaisler.com \
--cc=aneesh.kumar@kernel.org \
--cc=david@kernel.org \
--cc=dev.jain@arm.com \
--cc=ioworker0@gmail.com \
--cc=linmag7@gmail.com \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=loongarch@lists.linux.dev \
--cc=npiggin@gmail.com \
--cc=peterz@infradead.org \
--cc=richard.weiyang@gmail.com \
--cc=sparclinux@vger.kernel.org \
--cc=will@kernel.org \
--cc=zhengqi.arch@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.