linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v1 0/2] mm: multi-gen LRU scanning for page promotion
@ 2025-03-24 22:02 Kinsey Ho
  2025-03-24 22:03 ` [RFC PATCH v1 1/2] mm: mglru: generalize page table walk Kinsey Ho
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Kinsey Ho @ 2025-03-24 22:02 UTC (permalink / raw)
  To: linux-mm, linux-kernel
  Cc: yuanchu, AneeshKumar.KizhakeVeetil, Hasan.Maruf,
	Jonathan.Cameron, Michael.Day, akpm, dave.hansen, david,
	feng.tang, gourry, hannes, honggyu.kim, hughd, jhubbard,
	k.shutemov, kbusch, kmanaouil.dev, leesuyeon0506, leillc,
	liam.howlett, mgorman, mingo, nadav.amit, nphamcs, peterz,
	raghavendra.kt, riel, rientjes, rppt, shivankg, shy828301, sj,
	vbabka, weixugc, willy, ying.huang, ziy, dave, hyeonggon.yoo,
	bharata, Kinsey Ho

This patch series introduces a software-based approach to identify
hot pages for promotion in tiered memory systems, particularly those
leveraging CXL-attached memory, by utilizing the Multi-Generational
LRU (MGLRU) framework. This method is designed to complement
hardware-based hotness detection mechanisms like Intel PMU sampling, AMD
IBS, or dedicated CXL memory monitoring units, providing a more
comprehensive view of page access patterns, similar to kmmscand [1].

We propose to utilize MGLRU's existing infrastructure to provide hot
page information. A key benefit here is the reuse of the MGLRU page
table walk code, thus avoiding the overhead and duplication of effort
involved in implementing a separate page table scanning mechanism. The
working set reporting proposal [2] also reuses MGLRU's infrastructure,
but focuses on cold page detection. It provides its own aging daemon,
which could additionally provide hot page information by integrating
this proof-of-concept.

This series relies on kpromoted [3] as the migration engine to implement
the promotion policies. This is just an early proof-of-concept RFC
posted now in the context of LSFMM.

Kinsey Ho (2):
  mm: mglru: generalize page table walk
  mm: klruscand: use mglru scanning for page promotion

 include/linux/mmzone.h |   5 ++
 mm/Kconfig             |   8 ++
 mm/Makefile            |   1 +
 mm/internal.h          |   4 +
 mm/klruscand.c         | 118 +++++++++++++++++++++++++++
 mm/vmscan.c            | 177 ++++++++++++++++++++++++++++++-----------
 6 files changed, 267 insertions(+), 46 deletions(-)
 create mode 100644 mm/klruscand.c

-- 
2.49.0.395.g12beb8f557-goog



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

end of thread, other threads:[~2025-03-25 21:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-24 22:02 [RFC PATCH v1 0/2] mm: multi-gen LRU scanning for page promotion Kinsey Ho
2025-03-24 22:03 ` [RFC PATCH v1 1/2] mm: mglru: generalize page table walk Kinsey Ho
2025-03-24 22:03 ` [RFC PATCH v1 2/2] mm: klruscand: use mglru scanning for page promotion Kinsey Ho
2025-03-25 11:56 ` [RFC PATCH v1 0/2] mm: multi-gen LRU " Bharata B Rao
2025-03-25 21:55   ` Yuanchu Xie

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