v1: https://lore.kernel.org/linux-mm/20241219164425.2277022-1-kevin.brod...@arm.com/
This series should be considered in conjunction with Qi's series [1]. Together, they ensure that page table ctor/dtor are called at all levels (PTE to PGD) and all architectures, where page tables are regular pages. Besides the improvement in accounting and general cleanup, this also create a single place where construction/destruction hooks can be called for all page tables, namely the now-generic pagetable_dtor() introduced by Qi, and __pagetable_ctor() introduced in this series. v2 is essentially v1 rebased on top of mm-unstable, which includes Qi's v4 series. A number of patches from v1 were dropped: * v1 patch 4 is superseded by patch 6 in Qi's series. * v1 patch 5 and 6 moved to Qi's series from v3 onwards. * v1 patch 7 is superseded by patch 4 in Qi's series. Changes from v1 in the remaining patches: * Patch 1 only introduces __pagetable_ctor() as there is now a single generic pagetable_dtor(). * Patch 3 and 6: in arch/m68k/mm/motorola.c, free_pointer_table() can now unconditionally call pagetable_dtor() since it is the same for all levels. * Patch 6 just uses pagetable_dtor() instead of introducing pagetable_pgd_dtor(). * Added Dave Hansen's Acked-by to all patches. - Kevin [1] https://lore.kernel.org/linux-mm/cover.1735549103.git.zhengqi.a...@bytedance.com/ --- Cc: Andrew Morton <a...@linux-foundation.org> Cc: Catalin Marinas <catalin.mari...@arm.com> Cc: Dave Hansen <dave.han...@linux.intel.com> Cc: Linus Walleij <linus.wall...@linaro.org> Cc: Andy Lutomirski <l...@kernel.org> Cc: Peter Zijlstra <pet...@infradead.org> Cc: "Mike Rapoport (IBM)" <r...@kernel.org> Cc: Ryan Roberts <ryan.robe...@arm.com> Cc: Thomas Gleixner <t...@linutronix.de> Cc: Will Deacon <w...@kernel.org> Cc: Matthew Wilcox <wi...@infradead.org> Cc: Qi Zheng <zhengqi.a...@bytedance.com> Cc: linux-al...@vger.kernel.org Cc: linux-a...@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-c...@vger.kernel.org Cc: linux-hexa...@vger.kernel.org Cc: linux-ker...@vger.kernel.org Cc: linux-m...@lists.linux-m68k.org Cc: linux-m...@vger.kernel.org Cc: linux-openr...@vger.kernel.org Cc: linux-par...@vger.kernel.org Cc: linux-ri...@lists.infradead.org Cc: linux-s...@vger.kernel.org Cc: linux-snps-arc@lists.infradead.org Cc: linux...@lists.infradead.org Cc: loonga...@lists.linux.dev Cc: x...@kernel.org --- Kevin Brodsky (6): mm: Move common part of pagetable_*_ctor to helper parisc: mm: Ensure pagetable_pmd_[cd]tor are called m68k: mm: Add calls to pagetable_pmd_[cd]tor ARM: mm: Rename PGD helpers asm-generic: pgalloc: Provide generic __pgd_{alloc,free} mm: Introduce ctor/dtor at PGD level arch/alpha/mm/init.c | 2 +- arch/arc/include/asm/pgalloc.h | 9 ++---- arch/arm/mm/pgd.c | 16 +++++----- arch/arm64/mm/pgd.c | 4 +-- arch/csky/include/asm/pgalloc.h | 2 +- arch/hexagon/include/asm/pgalloc.h | 2 +- arch/loongarch/mm/pgtable.c | 7 ++--- arch/m68k/include/asm/mcf_pgalloc.h | 3 +- arch/m68k/include/asm/motorola_pgalloc.h | 6 ++-- arch/m68k/include/asm/sun3_pgalloc.h | 2 +- arch/m68k/mm/motorola.c | 21 +++++++++---- arch/microblaze/include/asm/pgalloc.h | 7 +---- arch/mips/include/asm/pgalloc.h | 6 ---- arch/mips/mm/pgtable.c | 8 ++--- arch/nios2/mm/pgtable.c | 3 +- arch/openrisc/include/asm/pgalloc.h | 6 ++-- arch/parisc/include/asm/pgalloc.h | 39 ++++++++---------------- arch/riscv/include/asm/pgalloc.h | 3 +- arch/s390/include/asm/pgalloc.h | 9 +++++- arch/um/kernel/mem.c | 7 ++--- arch/x86/mm/pgtable.c | 24 +++++++-------- arch/xtensa/include/asm/pgalloc.h | 2 +- include/asm-generic/pgalloc.h | 28 ++++++++++++++++- include/linux/mm.h | 31 ++++++++++--------- 24 files changed, 126 insertions(+), 121 deletions(-) base-commit: e2ce19225db5818f5dc22864cd225f8c425c3775 -- 2.47.0 _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc