[RFC PATCH v1 0/2] mm: multi-gen LRU scanning for page promotion
From: Kinsey Ho
Date: Mon Mar 24 2025 - 18:08:12 EST
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