[PATCH V2 0/2] Reduce reclaim from per-zone LRU in global kswapd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]