Re: [PATCH 0/3] mm: Generalize page table allocation helpers

From: Mike Rapoport

Date: Thu Oct 15 2026 - 04:41:34 EST


On Wed, Oct 14, 2026 at 11:59:07AM +0800, Muchun Song wrote:
> 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

Reviewed-by: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>

> 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
>

--
Sincerely yours,
Mike.