public inbox for linux-mm@kvack.org
 help / color / mirror / Atom feed
* [RFC PATCH v2 0/2] mm: multi-gen LRU scanning for page promotion
@ 2025-09-10 23:51 Kinsey Ho
  2025-09-10 23:51 ` [RFC PATCH v2 1/2] mm: mglru: generalize page table walk Kinsey Ho
  2025-09-10 23:51 ` [RFC PATCH v2 2/2] mm: klruscand: use mglru scanning for page promotion Kinsey Ho
  0 siblings, 2 replies; 3+ messages in thread
From: Kinsey Ho @ 2025-09-10 23:51 UTC (permalink / raw)
  To: linux-mm, linux-kernel
  Cc: Jonathan.Cameron, dave.hansen, gourry, hannes, mgorman, mingo,
	peterz, raghavendra.kt, riel, rientjes, sj, weixugc, willy,
	ying.huang, ziy, dave, nifan.cxl, xuezhengchu, yiannis, akpm,
	david, byungchul, kinseyho, joshua.hahnjy, yuanchu, balbirs,
	alok.rathore, lorenzo.stoakes, axelrasmussen, Liam.Howlett,
	vbabka, rppt, surenb, mhocko, zhengqi.arch, shakeel.butt

This patch series introduces a software-based approach to identifying
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 is based on and relies on [3] as the aggregation and
promotion engine to implement the promotion policies. This is still in
the RFC stage as a proof-of-concept and requires more rigorous testing.

---
v2: Fixed a correctness issue during page table walk, where, on resume,
one page found with the access-bit set was incorrectly not added to the
pghot data structure provided by [3].

v1: https://lore.kernel.org/linux-mm/20250324220301.1273038-1-kinseyho@google.com/
---

[1] [RFC PATCH V3 00/17] mm: slowtier page promotion based on PTE A bit
https://lore.kernel.org/linux-mm/20250814153307.1553061-1-raghavendra.kt@amd.com/

[2] [PATCH v4 0/9] mm: workingset reporting
https://lore.kernel.org/linux-mm/20241127025728.3689245-1-yuanchu@google.com/

[3] [RFC PATCH v2 0/8] mm: Hot page tracking and promotion infrastructure
https://lore.kernel.org/linux-mm/20250910144653.212066-1-bharata@amd.com/

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            | 181 +++++++++++++++++++++++++++++++----------
 6 files changed, 272 insertions(+), 45 deletions(-)
 create mode 100644 mm/klruscand.c

-- 
2.51.0.384.g4c02a37b29-goog



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

end of thread, other threads:[~2025-09-10 23:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-10 23:51 [RFC PATCH v2 0/2] mm: multi-gen LRU scanning for page promotion Kinsey Ho
2025-09-10 23:51 ` [RFC PATCH v2 1/2] mm: mglru: generalize page table walk Kinsey Ho
2025-09-10 23:51 ` [RFC PATCH v2 2/2] mm: klruscand: use mglru scanning for page promotion Kinsey Ho

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