[RESEND PATCH v7 0/4] Convert x86/mm/pat to generic page table apis
From: Vishal Moola (Oracle)
Date: Tue Mar 03 2026 - 14:51:13 EST
Replace the get_free_pages() allocation sites in set_memory.c with the
appropriate generic pagetable APIs, since the file already calls
pagetable_free() and the mismatch prevents separate allocation of ptdescs
from struct page.
Use the generic pagetable APIs consistently for both allocation and
freeing to simplify and standardize the code.
Enable Matthew’s work to allocate frozen pagetables in the short term[1],
and prepare for a clean split of ptdesc allocations from struct page in
the long term[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. Re-sending because the previous set was split
up for some reason.
v7:
- Collect some Acks
- Fix multi-line comment style to match the coding-style
- Reword all messages using imperative voice (used an LLM for this)
- CC all people found to have edited nearby lines (through git blame)
v6 link:
https://lore.kernel.org/linux-mm/20260219020354.321088-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 | 37 ++++++++++++++++++++++++------------
1 file changed, 25 insertions(+), 12 deletions(-)
--
2.53.0