On Wed, May 27, 2026 at 03:03:07PM +0100, Vishal Moola wrote:
> This continues the ptdesc conversions for x86[1]. This is a necessary step
> in preparation for the separate allocation of ptdescs from struct page.
> Once ptdescs are not wrappers, the pgd_list should be used to find our
> ptdesc, not page.
>
> In fact, after patch 4 we can successfully boot a 32-bit x86 kernel
> that separately allocates ptdescs.
>
> All of the patches are rather straightforward, I just kept them split up
> for ease of review. There are no intended functional changes as ptdescs
> are currently still wrappers around struct page.
Looks straightforward to me indeed :)
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> [1] https://lore.kernel.org/linux-mm/20260211195233.368497-1-vishal.moola@gmail.com/
>
> ----------------
>
> I've compiled and booted both 64 and 32 bit on a kernel with separately
> allocated ptdescs. I ensured the codepaths were hit for all the changes
> except Xen.
>
> This applies cleanly to the tip bot. I'm thinking this can go through
> Dave's mm.
>
> Vishal Moola (9):
> x86/mm/pat: Use IS_ENABLED() instead of ifdef
> x86/mm/pat: Convert __set_pmd_pte() to ptdescs
> x86/mm/pat: Convert collapse_pmd_page() to ptdescs
> x86/mm: Convert arch_sync_kernel_mappings() to ptdescs
> x86/mm: Convert sync_global_pgds_l5() to ptdescs
> x86/mm: Convert sync_global_pgds_l4() to ptdescs
> x86/mm: Convert pgd_page_get_mm() to ptdescs
> x86/xen: Convert xen_mm_pin_all() to ptdescs
> x86/xen: Convert xen_mm_unpin_all() to ptdescs
>
> arch/x86/include/asm/pgtable.h | 2 +-
> arch/x86/include/asm/pgtable_types.h | 2 +-
> arch/x86/mm/fault.c | 8 ++++----
> arch/x86/mm/init_64.c | 16 ++++++++--------
> arch/x86/mm/pat/set_memory.c | 17 ++++++++---------
> arch/x86/mm/pgtable.c | 4 ++--
> arch/x86/xen/mmu_pv.c | 22 +++++++++++-----------
> 7 files changed, 35 insertions(+), 36 deletions(-)
>
> --
> 2.54.0
>
--
Sincerely yours,
Mike.