arch/x86/mm/pat/set_memory.c | 37 +++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-)
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
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.
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.
© 2016 - 2026 Red Hat, Inc.