From: Qi Zheng <qi.zheng@linux.dev>
To: "David Hildenbrand (Arm)" <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,
akpm@linux-foundation.org
Cc: 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 7/8] mm: convert __HAVE_ARCH_TLB_REMOVE_TABLE to CONFIG_HAVE_ARCH_TLB_REMOVE_TABLE config
Date: Fri, 6 Feb 2026 19:58:47 +0800 [thread overview]
Message-ID: <53a1bbdd-26d1-454d-af06-169172278718@linux.dev> (raw)
In-Reply-To: <538fef61-3903-407e-8486-538a28b99e9d@kernel.org>
On 2/6/26 7:45 PM, David Hildenbrand (Arm) wrote:
> On 2/6/26 12:13, Qi Zheng wrote:
>>
>>
>> On 2/6/26 7:06 PM, David Hildenbrand (Arm) wrote:
>>> On 1/27/26 13:13, Qi Zheng wrote:
>>>> From: Qi Zheng <zhengqi.arch@bytedance.com>
>>>>
>>>> For architectures that define __HAVE_ARCH_TLB_REMOVE_TABLE, the page
>>>> tables at the pmd/pud level are generally not of struct ptdesc type,
>>>> and
>>>> do not have pt_rcu_head member, thus these architectures cannot support
>>>> PT_RECLAIM.
>>>>
>>>> In preparation for enabling PT_RECLAIM on more architectures, convert
>>>> __HAVE_ARCH_TLB_REMOVE_TABLE to CONFIG_HAVE_ARCH_TLB_REMOVE_TABLE
>>>> config,
>>>> so that we can make conditional judgments in Kconfig.
>>>>
>>>> Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
>>>> ---
>>>> arch/powerpc/Kconfig | 1 +
>>>> arch/powerpc/include/asm/tlb.h | 1 -
>>>> arch/sparc/Kconfig | 1 +
>>>> arch/sparc/include/asm/tlb_64.h | 1 -
>>>> include/asm-generic/tlb.h | 2 +-
>>>> mm/Kconfig | 3 +++
>>>> 6 files changed, 6 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
>>>> index 9537a61ebae02..b47aa8fd62742 100644
>>>> --- a/arch/powerpc/Kconfig
>>>> +++ b/arch/powerpc/Kconfig
>>>> @@ -304,6 +304,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
>>>> diff --git a/arch/powerpc/include/asm/tlb.h b/arch/powerpc/include/
>>>> asm/tlb.h
>>>> index 2058e8d3e0138..1ca7d4c4b90db 100644
>>>> --- a/arch/powerpc/include/asm/tlb.h
>>>> +++ b/arch/powerpc/include/asm/tlb.h
>>>> @@ -37,7 +37,6 @@ extern void tlb_flush(struct mmu_gather *tlb);
>>>> */
>>>> #define tlb_needs_table_invalidate() radix_enabled()
>>>> -#define __HAVE_ARCH_TLB_REMOVE_TABLE
>>>> /* Get the generic bits... */
>>>> #include <asm-generic/tlb.h>
>>>> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
>>>> index a630d373e6453..25fa2908d6152 100644
>>>> --- a/arch/sparc/Kconfig
>>>> +++ b/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
>>>
>>> Why the SMP? At least in tlb_64.h, it was not protected by SMP IIUC.
>>
>> Ah, It's just simply aligned with the MMU_GATHER_RCU_TABLE_FREE above.
>
> But does that work as expected for !SMP?
In the case of !SMP, tlb_remove_table() will not be called:
static inline void pgtable_free_tlb(struct mmu_gather *tlb, void *table,
bool is_page)
{
pgtable_free(table, is_page);
}
so I think it's okay to only select it in case of SMP.
>
next prev parent reply other threads:[~2026-02-06 11:59 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 [this message]
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
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=53a1bbdd-26d1-454d-af06-169172278718@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.