All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] mm: workingset: make shadow node shrinker memcg aware
@ 2016-02-09 13:55 ` Vladimir Davydov
  0 siblings, 0 replies; 18+ messages in thread
From: Vladimir Davydov @ 2016-02-09 13:55 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Johannes Weiner, Michal Hocko, linux-mm, linux-kernel

Hi,

Workingset code was recently made memcg aware, but shadow node shrinker
is still global. As a result, one small cgroup can consume all memory
available for shadow nodes, possibly hurting other cgroups by reclaiming
their shadow nodes, even though reclaim distances stored in its shadow
nodes have no effect. To avoid this, we need to make shadow node
shrinker memcg aware.

The actual work is done in patch 6 of the series. Patches 1 and 2
prepare memcg/shrinker infrastructure for the change. Patch 3 is just a
collateral cleanup. Patch 4 makes radix_tree_node accounted, which is
necessary for making shadow node shrinker memcg aware. Patch 5 reduces
shadow nodes overhead in case workload mostly uses anonymous pages.

Changes in v2:
 - Use (FILE_ACTIVE+FILE_INACTIVE)/2 instead of FILE_ACTIVE for maximal
   refault distance (Johannes).

Thanks,

Vladimir Davydov (6):
  mm: memcontrol: enable kmem accounting for all cgroups in the legacy
    hierarchy
  mm: vmscan: pass root_mem_cgroup instead of NULL to memcg aware
    shrinker
  mm: memcontrol: zap memcg_kmem_online helper
  radix-tree: account radix_tree_node to memory cgroup
  mm: workingset: size shadow nodes lru basing on file cache size
  mm: workingset: make shadow node shrinker memcg aware

 include/linux/memcontrol.h | 20 +++++++++----------
 lib/radix-tree.c           | 16 +++++++++++++---
 mm/memcontrol.c            | 48 ++++++++--------------------------------------
 mm/slab_common.c           |  2 +-
 mm/vmscan.c                | 15 ++++++++++-----
 mm/workingset.c            | 10 ++++++++--
 6 files changed, 50 insertions(+), 61 deletions(-)

-- 
2.1.4

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

end of thread, other threads:[~2016-02-09 23:16 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-09 13:55 [PATCH v2 0/6] mm: workingset: make shadow node shrinker memcg aware Vladimir Davydov
2016-02-09 13:55 ` Vladimir Davydov
2016-02-09 13:55 ` [PATCH v2 1/6] mm: memcontrol: enable kmem accounting for all cgroups in the legacy hierarchy Vladimir Davydov
2016-02-09 13:55   ` Vladimir Davydov
2016-02-09 13:55 ` [PATCH v2 2/6] mm: vmscan: pass root_mem_cgroup instead of NULL to memcg aware shrinker Vladimir Davydov
2016-02-09 13:55   ` Vladimir Davydov
2016-02-09 13:55 ` [PATCH v2 3/6] mm: memcontrol: zap memcg_kmem_online helper Vladimir Davydov
2016-02-09 13:55   ` Vladimir Davydov
2016-02-09 13:55 ` [PATCH v2 4/6] radix-tree: account radix_tree_node to memory cgroup Vladimir Davydov
2016-02-09 13:55   ` Vladimir Davydov
2016-02-09 13:55 ` [PATCH v2 5/6] mm: workingset: size shadow nodes lru basing on file cache size Vladimir Davydov
2016-02-09 13:55   ` Vladimir Davydov
2016-02-09 23:14   ` Johannes Weiner
2016-02-09 23:14     ` Johannes Weiner
2016-02-09 13:55 ` [PATCH v2 6/6] mm: workingset: make shadow node shrinker memcg aware Vladimir Davydov
2016-02-09 13:55   ` Vladimir Davydov
2016-02-09 23:15   ` Johannes Weiner
2016-02-09 23:15     ` Johannes Weiner

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.