[PATCH 0/3] Convert x86/mm/pat to ptdescs

Vishal Moola (Oracle) posted 3 patches 1 week, 4 days ago
arch/x86/mm/pat/set_memory.c | 37 +++++++++++++++++++-----------------
1 file changed, 20 insertions(+), 17 deletions(-)
[PATCH 0/3] Convert x86/mm/pat to ptdescs
Posted by Vishal Moola (Oracle) 1 week, 4 days ago
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. And in the long term, this will help us cleanly split
ptdesc allocations from struct page.

------

Based on current mm-new.

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

 arch/x86/mm/pat/set_memory.c | 37 +++++++++++++++++++-----------------
 1 file changed, 20 insertions(+), 17 deletions(-)

-- 
2.52.0
Re: [PATCH 0/3] Convert x86/mm/pat to ptdescs
Posted by Mike Rapoport 1 week, 3 days ago
Hi Vishal,

On Mon, Jan 26, 2026 at 04:51:37PM -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. And in the long term, this will help us cleanly split
> ptdesc allocations from struct page.
> 
> ------
> 
> Based on current mm-new.
> 
> Vishal Moola (Oracle) (3):
>   x86/mm/pat: Convert pte code to use ptdescs
>   x86/mm/pat: Convert pmd code to use ptdescs

There are still get_zeroed_page() calls in populate_pgd(). I think they
also should be converted to pagetable_alloc().

Other than that LGTM.

>   x86/mm/pat: Convert split_large_page() to use ptdescs
> 
>  arch/x86/mm/pat/set_memory.c | 37 +++++++++++++++++++-----------------
>  1 file changed, 20 insertions(+), 17 deletions(-)
> 
> -- 
> 2.52.0
> 

-- 
Sincerely yours,
Mike.
Re: [PATCH 0/3] Convert x86/mm/pat to ptdescs
Posted by Vishal Moola (Oracle) 1 week, 2 days ago
On Wed, Jan 28, 2026 at 01:52:43PM +0200, Mike Rapoport wrote:
> Hi Vishal,
> 
> On Mon, Jan 26, 2026 at 04:51:37PM -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. And in the long term, this will help us cleanly split
> > ptdesc allocations from struct page.
> > 
> > ------
> > 
> > Based on current mm-new.
> > 
> > Vishal Moola (Oracle) (3):
> >   x86/mm/pat: Convert pte code to use ptdescs
> >   x86/mm/pat: Convert pmd code to use ptdescs
> 
> There are still get_zeroed_page() calls in populate_pgd(). I think they
> also should be converted to pagetable_alloc().

Thanks, I missed those. They should be converted too, so I'll add those
in v2.

> Other than that LGTM.
> 
> >   x86/mm/pat: Convert split_large_page() to use ptdescs
> > 
> >  arch/x86/mm/pat/set_memory.c | 37 +++++++++++++++++++-----------------
> >  1 file changed, 20 insertions(+), 17 deletions(-)
> > 
> > -- 
> > 2.52.0
> > 
> 
> -- 
> Sincerely yours,
> Mike.