Re: [PATCH v2 2/2] mm: vmscan: fix node reclaim ignoring swappiness parameter
Qi Zheng <[email protected]>
| Newsgroups | org.kernel.vger.cgroups,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
On 7/16/26 11:17 AM, Ridong wrote: > From: Ridong Chen <[email protected]> > > sc_swappiness() had two separate definitions depending on > CONFIG_MEMCG. The !CONFIG_MEMCG variant simply returned > vm_swappiness, ignoring the proactive_swappiness value passed > through scan_control. This caused the swappiness parameter > written to /sys/devices/system/node/nodeX/reclaim to have no > effect when CONFIG_MEMCG is disabled. > > Fix this by consolidating sc_swappiness() into a single definition > that checks sc->proactive_swappiness first, then falls back to > mem_cgroup_swappiness() which already handles both CONFIG_MEMCG > and !CONFIG_MEMCG. > > Before fix (swappiness=max ignored, mostly file pages reclaimed): > > # cat /proc/sys/vm/swappiness > 60 > # cat /proc/vmstat | grep pgsteal > pgsteal_kswapd 0 > pgsteal_direct 0 > pgsteal_khugepaged 0 > pgsteal_proactive 1840 > pgsteal_anon 25 > pgsteal_file 1815 > # echo "64M swappiness=max" > /sys/devices/system/node/node0/reclaim > # cat /proc/vmstat | grep pgsteal > pgsteal_kswapd 0 > pgsteal_direct 0 > pgsteal_khugepaged 0 > pgsteal_proactive 18013 > pgsteal_anon 337 > pgsteal_file 17676 > > After fix (swappiness=max honored, anon pages reclaimed as expected): > > # cat /proc/vmstat | grep pgsteal > pgsteal_kswapd 0 > pgsteal_direct 0 > pgsteal_khugepaged 0 > pgsteal_proactive 0 > pgsteal_anon 0 > pgsteal_file 0 > # echo "64M swappiness=max" > /sys/devices/system/node/node0/reclaim > # cat /proc/vmstat | grep pgsteal > pgsteal_kswapd 0 > pgsteal_direct 0 > pgsteal_khugepaged 0 > pgsteal_proactive 16283 > pgsteal_anon 16283 > pgsteal_file 0 > > Cc: [email protected] # 6.17+ > Fixes: b980077899ea ("mm: introduce per-node proactive reclaim interface") > Signed-off-by: Ridong Chen <[email protected]> > Acked-by: Johannes Weiner <[email protected]> > Reviewed-by: Barry Song <[email protected]> > --- > mm/vmscan.c | 19 +++++++------------ > 1 file changed, 7 insertions(+), 12 deletions(-) Thanks for fixing this! Acked-by: Qi Zheng <[email protected]>