[PATCH 0/7] mm/mglru: clean up folio counters and flag usage
From: Kairui Song via B4 Relay
Date: Tue Aug 18 2026 - 01:39:08 EST
This is a cleanup series separated out from the MGLRU-FG series [1]. As
that series is getting too long in following updates, seperate out the
clean up part for easier review and merge.
No feature change is intended, except one bugfix. It mostly replaces
the open-coded bit operations scattered throughout the MGLRU code with
new helpers, with proper kdocs, sanity debug checks, and hardens a few
MGLRU functions.
A subtle generation counter leak is also found during the refactoring
and the fix is included.
Also collected review feedbacks on the cleanup part from the posted
series, thanks to Barry and Baoquan.
Link: https://lore.kernel.org/linux-mm/20260804-mglru-fg-v1-0-4d8dad39dad6@xxxxxxxxxxx/ [1]
Signed-off-by: Kairui Song <kasong@xxxxxxxxxxx>
---
Kairui Song (7):
mm/memcontrol: make lru_zone_size atomic and simplify sanity check
mm/mglru: introduce helpers for manipulating gen and refs flags
mm/migrate: copy the referenced state via folio_migrate_refs()
mm/mglru: move max_seq read into walk_update_folio
mm/mglru: use explicit tier range in read_ctrl_pos()
mm/mglru: fix potential generation folio number leak
mm/mglru: improve code readability and harden folio_inc_gen
include/linux/memcontrol.h | 9 +++-
include/linux/mm_inline.h | 102 ++++++++++++++++++++++++++++++-----
include/linux/mmzone.h | 4 ++
mm/folio.c | 19 ++++---
mm/memcontrol.c | 18 +------
mm/migrate.c | 4 +-
mm/vmscan.c | 129 ++++++++++++++++++++++++---------------------
7 files changed, 183 insertions(+), 102 deletions(-)
---
base-commit: 3b1d6bd7bb11fd040bfa7b712486f5bd41a276cf
change-id: 20260818-mglru-flags-cleanup-cc49cfad654f
Best regards,
--
Kairui Song <kasong@xxxxxxxxxxx>