On 2/27/25 9:21 PM, Geert Uytterhoeven wrote:
Hi Qi,
On Tue, 25 Feb 2025 at 04:46, Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx> wrote:
Now, the nine architectures of csky, hexagon, loongarch, m68k, mips,
nios2, openrisc, sh and um do not select CONFIG_MMU_GATHER_RCU_TABLE_FREE,
and just call pagetable_dtor() + tlb_remove_page_ptdesc() (the wrapper of
tlb_remove_page()). This is the same as the implementation of
tlb_remove_{ptdesc|table}() under !CONFIG_MMU_GATHER_TABLE_FREE, so
convert these architectures to use tlb_remove_ptdesc().
The ultimate goal is to make the architecture only use tlb_remove_ptdesc()
or tlb_remove_table() for page table pages.
Signed-off-by: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>
Suggested-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Thanks for your patch!
arch/m68k/include/asm/sun3_pgalloc.h | 3 +--
Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> # m68k
Thanks for your review.
--- a/arch/m68k/include/asm/sun3_pgalloc.h
+++ b/arch/m68k/include/asm/sun3_pgalloc.h
@@ -19,8 +19,7 @@ extern const char bad_pmd_string[];
#define __pte_free_tlb(tlb, pte, addr) \
do { \
- pagetable_dtor(page_ptdesc(pte)); \
- tlb_remove_page_ptdesc((tlb), page_ptdesc(pte)); \
+ tlb_remove_ptdesc((tlb), page_ptdesc(pte)); \
} while (0)
With only a single statement remaining, you can remove the do { ... }
while construct, too.
Ah, right. Will do in the next version.
Thanks!
Gr{oetje,eeting}s,
Geert