[PATCH 0/3] mm: Generalize page table allocation helpers
From: Muchun Song
Date: Wed Oct 14 2026 - 00:03:17 EST
A subsequent series will switch runtime vmemmap population to the
generic page-table allocators. Since vmemmap tables belong to init_mm,
the allocators must select GFP_PGTABLE_KERNEL and mark the ptdesc as a
kernel page table.
Some architecture-specific allocators do not preserve both semantics.
LoongArch and MIPS choose PMD/PUD GFP flags without checking the mm,
which can charge kernel PMD tables to a memcg and leave user PUD tables
unaccounted. The private PMD/PUD allocators also omit kernel ptdesc
marking.
Rather than duplicate this handling in each architecture, extend the
generic PTE, PMD and PUD allocators to support architecture
initialization hooks and non-zero table orders. LoongArch, MIPS and
parisc can then drop their private allocators and inherit the generic
GFP selection and ptdesc handling.
This series only prepares the allocation interfaces; the runtime
vmemmap conversion will be submitted separately.
Muchun Song (3):
mm: generalize kernel PTE table allocation
mm: generalize PMD page table allocation
mm: generalize PUD page table allocation
arch/loongarch/include/asm/pgalloc.h | 48 ----------------------------
arch/mips/include/asm/pgalloc.h | 40 -----------------------
arch/parisc/include/asm/pgalloc.h | 17 ----------
include/asm-generic/pgalloc.h | 29 ++++++++++++++---
4 files changed, 24 insertions(+), 110 deletions(-)
base-commit: ad9f2d463666c64e94b04be5263c9bf8f9f96fb7
--
2.54.0