On Tue, Sep 22, 2026 at 04:35:36PM +0100, Lorenzo Stoakes (ARM) wrote: >Each of these architectures directly free page tables without routing these >changes through tlb_remove_ptdesc(). > >The use of tlb_remove_ptdesc() is required for >CONFIG_MMU_GATHER_RCU_TABLE_FREE to correctly free page tables under RCU, >so simply update these architectures to use these functions. > >Since none of the architectures share page tables or do anything unusual, >nothing complicated is required here. > >Therefore this is simply a mechanical change - convert __pud_free_tlb(), >__pmd_free_tlb() and __pte_free_tlb() to use tlb_remove_ptdesc() as >required. > >At the point this is in place, all mmu_gather page table freeing is >performed under RCU, and thus MMU_GATHER_RCU_TABLE_FREE is selected for >each architecture. > >Note that CONFIG_MMU_GATHER_RCU_TABLE_FREE is dependent on CONFIG_MMU for >xtensa to reflect the fact that nommu does not implement page table >gathering. > >This forms part of an overall effort to switch every architecture to this >mode. > >Acked-by: Kiryl Shutsemau (Meta) <[email protected]> >Signed-off-by: Lorenzo Stoakes (ARM) <[email protected]> >---
Right, the old frees already end up in pagetable_dtor_free(). With tlb_remove_ptdesc(), the same cleanup happens after an RCU grace period. Makes sense to me, feel free to add: Acked-by: Lance Yang <[email protected]>
