mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3 0/6] mm: Unify device DAX and HugeTLB vmemmap population paths
@ 2026-09-29  5:32 Muchun Song
  2026-09-29  5:32 ` [PATCH v3 1/6] mm/sparse-vmemmap: drop VMEMMAP_POPULATE_DAX Muchun Song
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Muchun Song @ 2026-09-29  5:32 UTC (permalink / raw)
  To: Madhavan Srinivasan, Mike Rapoport, Andrew Morton, David Hildenbrand
  Cc: Michael Ellerman, Nicholas Piggin, Christophe Leroy,
	Ritesh Harjani, Shrikanth Hegde, Lorenzo Stoakes,
	Liam R . Howlett, Vlastimil Babka, Suren Baghdasaryan,
	Michal Hocko, Qi Zheng, linuxppc-dev, linux-kernel, linux-mm,
	Muchun Song, muchun.song

This v3 is based on mm-new commit 2ddb90ee544a, which contains v5 of
"mm: Switch device DAX to section-based vmemmap optimization" [1].

This series is split out from the earlier, larger series "mm: Generalize
HVO for HugeTLB and device DAX" [2]. While the parent series generalizes
vmemmap optimization across HugeTLB and device DAX, this subset addresses
a single, self-contained step: unifying their vmemmap population paths.

After the preceding Device DAX conversion, both HugeTLB and Device DAX
describe optimized vmemmap mappings through memory-section metadata and
use per-zone shared tail vmemmap pages. The generic code, however, still
carries a Device DAX-specific population flag and compound-page population
path, along with arguments and helpers needed only by that path.

This series first removes VMEMMAP_POPULATE_DAX and moves selection and
reference handling for the shared tail page into the common vmemmap
population path. It then removes the generic Device DAX-specific
compound-page population path and routes section vmemmap population
through vmemmap_populate(). The powerpc radix path continues to use its
architecture-specific compound-page population implementation for
optimizable sections.

The remaining patches remove the unused ptpfn argument, open-code
vmemmap_populate_address() now that no caller needs its returned PTE, and
add a warning for inconsistent zone initialization of shared tail vmemmap
pages.

This is the fourth smaller step toward the broader HVO generalization.
After this series, HugeTLB and Device DAX use the same population model
instead of parallel generic paths, while powerpc keeps its
architecture-specific implementation.

[1] https://lore.kernel.org/20260927025441.741633-1-songmuchun@bytedance.com/
[2] https://lore.kernel.org/20260513130542.35604-1-songmuchun@bytedance.com/

v3:
- Rebase onto mm-new commit 2ddb90ee544a, which contains v5 of the Device
  DAX section-based vmemmap series.
- Document the exact dependency order as suggested by David Hildenbrand
  and Ritesh Harjani.
- Use the public order-based optimization predicate in the powerpc path.
- Collect Acked-by tags from Qi Zheng.

v2: https://lore.kernel.org/20260924075259.2013039-1-songmuchun@bytedance.com/
- Expand the comments around the slab initialization boundary as suggested
  by Qi Zheng.
- Collect Acked-by tags from Qi Zheng.
- Defer the patch making vmemmap_populate_compound_pages() static to a
  follow-up series that cleans up the powerpc vmemmap population code.
- Add a new patch to warn about mismatched zone IDs between a page and its
  shared tail vmemmap page.

v1: https://lore.kernel.org/20260913083734.86802-1-songmuchun@bytedance.com/

Muchun Song (6):
  mm/sparse-vmemmap: drop VMEMMAP_POPULATE_DAX
  mm/sparse-vmemmap: support device DAX in common vmemmap path
  mm/sparse-vmemmap: drop Device DAX-specific population path
  mm/sparse-vmemmap: remove the unused ptpfn argument
  mm/sparse-vmemmap: open-code vmemmap_populate_address()
  mm/mm_init: add zone mismatch warning during page init

 arch/powerpc/mm/book3s64/radix_pgtable.c |   3 +
 mm/mm_init.c                             |   5 +-
 mm/sparse-vmemmap.c                      | 208 ++++++-----------------
 3 files changed, 63 insertions(+), 153 deletions(-)


base-commit: 2ddb90ee544ae97215afc4698dc223293997cc43
-- 
2.54.0


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

end of thread, other threads:[~2026-09-30 13:38 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-29  5:32 [PATCH v3 0/6] mm: Unify device DAX and HugeTLB vmemmap population paths Muchun Song
2026-09-29  5:32 ` [PATCH v3 1/6] mm/sparse-vmemmap: drop VMEMMAP_POPULATE_DAX Muchun Song
2026-09-30  4:24   ` Lance Yang
2026-09-29  5:32 ` [PATCH v3 2/6] mm/sparse-vmemmap: support device DAX in common vmemmap path Muchun Song
2026-09-30  8:53   ` Lance Yang
2026-09-30 10:09     ` Muchun Song
2026-09-30 11:11     ` Muchun Song
2026-09-30 13:38       ` Lance Yang
2026-09-30 10:02   ` Lance Yang
2026-09-29  5:32 ` [PATCH v3 3/6] mm/sparse-vmemmap: drop Device DAX-specific population path Muchun Song
2026-09-29  5:32 ` [PATCH v3 4/6] mm/sparse-vmemmap: remove the unused ptpfn argument Muchun Song
2026-09-29  5:32 ` [PATCH v3 5/6] mm/sparse-vmemmap: open-code vmemmap_populate_address() Muchun Song
2026-09-29  5:32 ` [PATCH v3 6/6] mm/mm_init: add zone mismatch warning during page init Muchun Song
2026-09-29 21:32 ` [PATCH v3 0/6] mm: Unify device DAX and HugeTLB vmemmap population paths Andrew Morton
2026-09-30  1:26   ` Muchun Song

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

all inboxes | Powered by JetHome®