Re: [PATCH v6 0/4] Convert x86/mm/pat to generic page table apis

From: Vishal Moola (Oracle)

Date: Fri Feb 27 2026 - 15:07:16 EST


On Wed, Feb 18, 2026 at 06:03:50PM -0800, Vishal Moola (Oracle) wrote:
> set_memory.c has a call to pagetable_free(), while the allocation sites
> use get_free_pages(). This causes issues separately allocating ptdescs
> from struct page.
>
> It turns out that we can just use the appropriate generic pagetable
> apis for allocation/freeing. This helps simplify and standardize the
> code.
>
> 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[2].
>
> [1] https://lore.kernel.org/linux-mm/20251113140448.1814860-1-willy@xxxxxxxxxxxxx/
> [2] https://lore.kernel.org/linux-mm/20251020001652.2116669-1-willy@xxxxxxxxxxxxx/
>
> ------
>
> Based on current mm-new.

Hi Dave,

Do you have any more comments for this series? If not, could you please
take this through the x86 tree. Thanks :)

> v6:
> - Drop the renaming of *page* functions
> - Use existing page table api instead of creating new apis
> - Split the pmd and populate_pgd() changes into separate patches
> - Reword the cover letter to describe the new approach
>
> v5 link:
> https://lore.kernel.org/all/20260211195233.368497-1-vishal.moola@xxxxxxxxx/
>
> Vishal Moola (Oracle) (4):
> x86/mm/pat: Convert pte code to use page table apis
> x86/mm/pat: Convert pmd code to use page table apis
> x86/mm/pat: Convert populate_pgd() to use page table apis
> x86/mm/pat: Convert split_large_page() to use ptdescs
>
> arch/x86/mm/pat/set_memory.c | 36 ++++++++++++++++++++++++------------
> 1 file changed, 24 insertions(+), 12 deletions(-)
>
> --
> 2.53.0
>