[PATCH -v4 0/4] mm/vmscan: fix swappiness=max and clean up per-node proactive reclaim

Ridong posted 4 patches 34 minutes ago
There is a newer version of this series
mm/vmscan.c | 55 +++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 41 insertions(+), 14 deletions(-)
[PATCH -v4 0/4] mm/vmscan: fix swappiness=max and clean up per-node proactive reclaim
Posted by Ridong 34 minutes ago
From: Ridong Chen <chenridong@xiaomi.com>

Fixes and one cleanup.

Patch 1 fixes "swappiness=max": the anon-only test in get_scan_count()
sat after the "cannot reclaim anon" check, so when no anon was
reclaimable the request fell back to SCAN_FILE and evicted page cache
instead.

Patch 2 fixes reclaim_store() collapsing every error into -EAGAIN, so
callers can no longer tell an invalid argument from a busy interface;
propagate the real error code, matching the memcg path.

Patch 3 drops the now-unused gfp_mask parameter from __node_reclaim().

Patch 4 fixes the same "swappiness=max" issue for MGLRU.

---
v3 -> v4:
 - Patch 4: Update comments and commit message.
 - Patch 4: Adopted Sashiko's suggestion to use WARN_ON_ONCE.

v2 -> v3:
 - Update comments and commit message.

v1 -> v2:
 - Collected review tags for patches 1-3
 - Added patch 4 to fix the same issue in the MGLRU path.

Ridong Chen (4):
  mm/vmscan: fix anon-only reclaim evicting file pages when
    swappiness=max
  mm: vmscan: propagate real error code from per-node proactive reclaim
  mm: vmscan: drop unused gfp_mask parameter from __node_reclaim()
  mm/mglru: fix anon-only reclaim evicting file pages when
    swappiness=max

 mm/vmscan.c | 55 +++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 41 insertions(+), 14 deletions(-)

-- 
2.34.1