[PATCH v3 0/2] mm/mglru: fix ineffective memory protection for non-kswapd reclaim
From: Ridong Chen
Date: Wed Sep 02 2026 - 23:26:55 EST
From: Ridong Chen <chenridong@xxxxxxxxxx>
For MGLRU, memory.min/low is not honored during non-kswapd global
reclaim (global direct reclaim and root-level memory.reclaim), because
these paths shrink memcgs using stale effective protection (emin/elow).
Patch 2 is the actual fix. Patch 1 is a prerequisite: an integer overflow
in effective_protection(), spotted by the sashiko review tool, which
patch 2's new caller would also be exposed to.
---
v3:
- Per Barry Song's review comments
v2:
- Fix an issue caused by non-atomic read races in patch 1 [1]
[1] https://sashiko.dev/#/patchset/20260828092432.1257917-1-ridong.chen@xxxxxxxxx?part=1
Ridong Chen (2):
mm/page_counter: avoid integer overflow in effective_protection()
mm/mglru: fix ineffective memory protection for non-kswapd reclaim
include/linux/memcontrol.h | 10 +++++++++
mm/memcontrol.c | 45 ++++++++++++++++++++++++++++++++++++++
mm/page_counter.c | 19 +++++++++++-----
mm/vmscan.c | 8 ++++++-
4 files changed, 75 insertions(+), 7 deletions(-)
base-commit: 32b6ef9a5d0eca44f9cd91f52f4faa89f145a0de
--
2.34.1