All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -v3 0/2] mm: vmscan: fix node reclaim ignoring swappiness parameter
@ 2026-07-23  2:58 Ridong
  2026-07-23  2:58 ` [PATCH -v3 1/2] memcg: move mem_cgroup_swappiness and vm_swappiness to mm/swap.h Ridong
  2026-07-23  2:58 ` [PATCH -v3 2/2] mm: vmscan: fix node reclaim ignoring swappiness parameter Ridong
  0 siblings, 2 replies; 3+ messages in thread
From: Ridong @ 2026-07-23  2:58 UTC (permalink / raw)
  To: Johannes Weiner, Michal Hocko, Roman Gushchin, Shakeel Butt,
	Andrew Morton, Chris Li, Kairui Song
  Cc: Muchun Song, Kemeng Shi, Nhat Pham, Baoquan He, Barry Song,
	Youngjun Park, David Hildenbrand, Qi Zheng, Lorenzo Stoakes,
	Axel Rasmussen, Yuanchu Xie, Wei Xu, Davidlohr Bueso, cgroups,
	linux-mm, linux-kernel, Song Hu, Ridong Chen, Ridong Chen

From: Ridong Chen <chenridong@xiaomi.com>

The per-node proactive reclaim interface
(/sys/devices/system/node/nodeX/reclaim) accepts a swappiness parameter,
but it is silently ignored when CONFIG_MEMCG is disabled. The root cause
is that sc_swappiness() has separate implementations for CONFIG_MEMCG and
!CONFIG_MEMCG, and the latter never checks proactive_swappiness.

Patch 1 moves mem_cgroup_swappiness() and vm_swappiness out of the public
include/linux/swap.h into the mm-private mm/swap.h, and makes the helper
handle both CONFIG_MEMCG and !CONFIG_MEMCG in a single inline function.
This is a prerequisite for unifying sc_swappiness().

Patch 2 consolidates sc_swappiness() into a single definition that works
regardless of CONFIG_MEMCG, fixing the node reclaim swappiness bug.

---

v2 -> v3:
 - Simplify mem_cgroup_swappiness as suggested by Johannes.  
 - Rebase on the next-20260722

v1 -> v2:
 - Move mem_cgroup_swappiness() and vm_swappiness to mm/swap.h instead of
   include/linux/memcontrol.h. Suggested by Barry Song.
 - Correct fix tag for patch 2.

v1: https://lore.kernel.org/all/20260711091157.306070-1-ridong.chen@linux.dev/

Ridong Chen (2):
  memcg: move mem_cgroup_swappiness and vm_swappiness to mm/swap.h
  mm: vmscan: fix node reclaim ignoring swappiness parameter

 include/linux/memcontrol.h |  4 ++--
 include/linux/swap.h       | 19 -------------------
 mm/memcontrol.c            |  4 ++--
 mm/swap.h                  | 13 +++++++++++++
 mm/vmscan.c                | 19 +++++++------------
 5 files changed, 24 insertions(+), 35 deletions(-)

-- 
2.34.1



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

end of thread, other threads:[~2026-07-23  2:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-23  2:58 [PATCH -v3 0/2] mm: vmscan: fix node reclaim ignoring swappiness parameter Ridong
2026-07-23  2:58 ` [PATCH -v3 1/2] memcg: move mem_cgroup_swappiness and vm_swappiness to mm/swap.h Ridong
2026-07-23  2:58 ` [PATCH -v3 2/2] mm: vmscan: fix node reclaim ignoring swappiness parameter Ridong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.