Hi, Qi Zheng, We usually use LoongArch rather than loongarch, but if you want to keep consistency for all patches, just do it.
On Fri, Nov 14, 2025 at 7:13 PM Qi Zheng <[email protected]> wrote: > > From: Qi Zheng <[email protected]> > > On a 64-bit system, madvise(MADV_DONTNEED) may cause a large number of > empty PTE page table pages (such as 100GB+). To resolve this problem, > first enable MMU_GATHER_RCU_TABLE_FREE to prepare for enabling the > PT_RECLAIM feature, which resolves this problem. > > Signed-off-by: Qi Zheng <[email protected]> > Cc: Huacai Chen <[email protected]> > Cc: WANG Xuerui <[email protected]> > --- > arch/loongarch/Kconfig | 1 + > arch/loongarch/include/asm/pgalloc.h | 6 ++++-- > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig > index 5b1116733d881..3bf2f2a9cd647 100644 > --- a/arch/loongarch/Kconfig > +++ b/arch/loongarch/Kconfig > @@ -210,6 +210,7 @@ config LOONGARCH > select USER_STACKTRACE_SUPPORT > select VDSO_GETRANDOM > select ZONE_DMA32 > + select MMU_GATHER_RCU_TABLE_FREE Please use alpha-betical order. > > config 32BIT > bool > diff --git a/arch/loongarch/include/asm/pgalloc.h > b/arch/loongarch/include/asm/pgalloc.h > index 1c63a9d9a6d35..0539d04bf1525 100644 > --- a/arch/loongarch/include/asm/pgalloc.h > +++ b/arch/loongarch/include/asm/pgalloc.h > @@ -79,7 +79,8 @@ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, > unsigned long address) > return pmd; > } > > -#define __pmd_free_tlb(tlb, x, addr) pmd_free((tlb)->mm, x) > +#define __pmd_free_tlb(tlb, x, addr) \ > + tlb_remove_ptdesc((tlb), virt_to_ptdesc(x)) I think we can define it in one line. > > #endif > > @@ -99,7 +100,8 @@ static inline pud_t *pud_alloc_one(struct mm_struct *mm, > unsigned long address) > return pud; > } > > -#define __pud_free_tlb(tlb, x, addr) pud_free((tlb)->mm, x) > +#define __pud_free_tlb(tlb, x, addr) \ > + tlb_remove_ptdesc((tlb), virt_to_ptdesc(x)) The same. Other patches have the same problem. Huacai > > #endif /* __PAGETABLE_PUD_FOLDED */ > > -- > 2.20.1 >
