The global kswapd scans per-zone LRU and reclaims pages regardless of the cgroup. It breaks memory isolation since one cgroup can end up reclaiming pages from another cgroup. Instead we should rely on memcg-aware target reclaim including per-memcg kswapd and soft_limit hierarchical reclaim under memory pressure. In the global background reclaim, we do soft reclaim before scanning the per-zone LRU. However, the return value is ignored. This patch is the first step to skip shrink_zone() if soft_limit reclaim does enough work. This is part of the effort which tries to reduce reclaiming pages in global LRU in memcg. The per-memcg background reclaim patchset further enhances the per-cgroup targetting reclaim, which I should have V4 posted shortly. Try running multiple memory intensive workloads within seperate memcgs. Watch the counters of soft_steal in memory.stat. $ egrep 'steal|scan' /dev/cgroup/1/memory.stat soft_steal 259200 total_soft_steal 259200 Ying Han (2): count the soft_limit reclaim in global background reclaim add stats to monitor soft_limit reclaim Documentation/cgroups/memory.txt | 2 + include/linux/memcontrol.h | 11 ++++++++- include/linux/swap.h | 3 +- mm/memcontrol.c | 43 ++++++++++++++++++++++++++++++-------- mm/vmscan.c | 16 +++++++++++-- 5 files changed, 60 insertions(+), 15 deletions(-) -- 1.7.3.1 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>