Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1328786

Re: [PATCH 5/5] mm: workingset: make shadow node shrinker memcg aware

From Johannes Weiner <hannes@cmpxchg.org>
Newsgroups linux.kernel
Subject Re: [PATCH 5/5] mm: workingset: make shadow node shrinker memcg aware
Date 2016-02-08 07:30 +0100
Message-ID <qZNuF-1eE-1@gated-at.bofh.it> (permalink)
References <qZBjQ-Sz-9@gated-at.bofh.it> <qZBjR-Sz-23@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Sun, Feb 07, 2016 at 08:27:35PM +0300, Vladimir Davydov wrote:
> 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.
> 
> Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com>

This patch is straight forward, but there is one tiny thing that bugs
me about it, and that is switching from available memory to the size
of the active list. Because the active list can shrink drastically at
runtime.

It's true that both the shrinking of the active list and subsequent
activations to regrow it will reduce the number of actionable
refaults, and so it wouldn't be unreasonable to also shrink shadow
nodes when the active list shrinks.

However, I think these are too many assumptions to encode in the
shrinker, because it is only meant to prevent a worst-case explosion
of radix tree nodes. I'd prefer it to be dumb and conservative.

Could we instead go with the current usage of the memcg? Whether
reclaim happens globally or due to the memory limit, the usage at the
time of reclaim gives a good idea of the memory is available to the
group. But it's making less assumptions about the internal composition
of the memcg's memory, and the consequences associated with that.

What do you think?

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/5] mm: workingset: make shadow node shrinker memcg aware Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-07 18:30 +0100
  [PATCH 1/5] mm: memcontrol: enable kmem accounting for all cgroups in the legacy hierarchy Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-07 18:30 +0100
    Re: [PATCH 1/5] mm: memcontrol: enable kmem accounting for all  cgroups in the legacy hierarchy Johannes Weiner <hannes@cmpxchg.org> - 2016-02-08 06:50 +0100
  [PATCH 4/5] radix-tree: account radix_tree_node to memory cgroup Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-07 18:30 +0100
    Re: [PATCH 4/5] radix-tree: account radix_tree_node to memory cgroup Johannes Weiner <hannes@cmpxchg.org> - 2016-02-08 07:10 +0100
  [PATCH 5/5] mm: workingset: make shadow node shrinker memcg aware Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-07 18:30 +0100
    Re: [PATCH 5/5] mm: workingset: make shadow node shrinker memcg aware Johannes Weiner <hannes@cmpxchg.org> - 2016-02-08 07:30 +0100
      Re: [PATCH 5/5] mm: workingset: make shadow node shrinker memcg aware Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-08 15:30 +0100
        Re: [PATCH 5/5] mm: workingset: make shadow node shrinker memcg aware Johannes Weiner <hannes@cmpxchg.org> - 2016-02-08 21:50 +0100
  [PATCH 3/5] mm: memcontrol: zap memcg_kmem_online helper Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-07 18:30 +0100
    Re: [PATCH 3/5] mm: memcontrol: zap memcg_kmem_online helper Johannes Weiner <hannes@cmpxchg.org> - 2016-02-08 06:50 +0100

csiph-web