Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/9] Convert x86 pgd_lists to ptdescs
@ 2026-06-29 18:57 Vishal Moola
  2026-06-29 18:57 ` [PATCH v2 1/9] x86/mm/pat: Use IS_ENABLED() instead of ifdef Vishal Moola
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Vishal Moola @ 2026-06-29 18:57 UTC (permalink / raw)
  To: Dave Hansen, linux-mm, linux-kernel, x86
  Cc: Mike Rapoport, Lu Baolu, xen-devel, Thomas Gleixner, Ingo Molnar,
	Borislav Petkov, H. Peter Anvin, Andy Lutomirski, Peter Zijlstra,
	Juergen Gross, Boris Ostrovsky, Vishal Moola

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.

[1] https://lore.kernel.org/linux-mm/20260211195233.368497-1-vishal.moola@gmail.com/

----------------

v2:
  - Collect Review tags
  - Rebase on 7.2-rc1

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 7.2-rc1. Dave, can you please take this through
the x86 mm tree?

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



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-07-06 17:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-29 18:57 [PATCH v2 0/9] Convert x86 pgd_lists to ptdescs Vishal Moola
2026-06-29 18:57 ` [PATCH v2 1/9] x86/mm/pat: Use IS_ENABLED() instead of ifdef Vishal Moola
2026-06-29 18:57 ` [PATCH v2 2/9] x86/mm/pat: Convert __set_pmd_pte() to ptdescs Vishal Moola
2026-06-29 18:57 ` [PATCH v2 3/9] x86/mm/pat: Convert collapse_pmd_page() " Vishal Moola
2026-06-29 18:57 ` [PATCH v2 4/9] x86/mm: Convert arch_sync_kernel_mappings() " Vishal Moola
2026-06-29 18:57 ` [PATCH v2 5/9] x86/mm: Convert sync_global_pgds_l5() " Vishal Moola
2026-06-29 18:57 ` [PATCH v2 6/9] x86/mm: Convert sync_global_pgds_l4() " Vishal Moola
2026-06-29 18:57 ` [PATCH v2 7/9] x86/mm: Convert pgd_page_get_mm() " Vishal Moola
2026-06-29 18:57 ` [PATCH v2 8/9] x86/xen: Convert xen_mm_pin_all() " Vishal Moola
2026-06-29 18:57 ` [PATCH v2 9/9] x86/xen: Convert xen_mm_unpin_all() " Vishal Moola
2026-07-06 17:48 ` [PATCH v2 0/9] Convert x86 pgd_lists " Vishal Moola

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox