Re: [PATCH v3 0/3] Convert 64-bit x86/mm/pat to ptdescs

Mike Rapoport
2026-02-03T17:03:46Z

On Mon, Feb 02, 2026 at 09:20:02AM -0800, Vishal Moola (Oracle) wrote:
> x86/mm/pat should be using ptdescs. One line has already been
> converted to pagetable_free(), while the allocation sites use
> get_free_pages(). This causes issues separately allocating ptdescs
> from struct page.
>
> These patches convert the allocation/free sites to use ptdescs. In
> the short term, this helps enable Matthew's work to allocate frozen
> pagetables[1]. And in the long term, this will help us cleanly split
> ptdesc allocations from struct page.
>
> The pgd_list should also be using ptdescs (for 32bit in this file). This
> can be done in a different patchset since there's other users of pgd_list
> that still need to be converted.
>
> [1] https://lore.kernel.org/linux-mm/20251113140448.1814860-1-willy@infradead.org/
> [2] https://lore.kernel.org/linux-mm/20251020001652.2116669-1-willy@infradead.org/
>
> ------
>
> I've also tested this on a tree that separately allocates ptdescs. That
> didn't find any lingering alloc/free issues.
>
> Based on current mm-new.
>
> v3:
> - Move comment regarding 32-bit conversions into the cover letter
> - Correct the handling for the pagetable_alloc() error path
>
> Vishal Moola (Oracle) (3):
> x86/mm/pat: Convert pte code to use ptdescs
> x86/mm/pat: Convert pmd code to use ptdescs
> x86/mm/pat: Convert split_large_page() to use ptdescs

Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

With some minor comments in patch 1/3

> arch/x86/mm/pat/set_memory.c | 56 +++++++++++++++++++++---------------
> 1 file changed, 33 insertions(+), 23 deletions(-)
>
> --
> 2.52.0
>

--
Sincerely yours,
Mike.