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


Groups > linux.kernel > #1330768

Re: [PATCH v2 5/6] mm: workingset: size shadow nodes lru basing on file cache size

From Johannes Weiner <hannes@cmpxchg.org>
Newsgroups linux.kernel
Subject Re: [PATCH v2 5/6] mm: workingset: size shadow nodes lru basing on file cache size
Date 2016-02-10 00:20 +0100
Message-ID <r0pJE-2qT-19@gated-at.bofh.it> (permalink)
References <r0gZH-4N6-3@gated-at.bofh.it> <r0gZJ-4N6-33@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, Feb 09, 2016 at 04:55:53PM +0300, Vladimir Davydov wrote:
> A page is activated on refault if the refault distance stored in the
> corresponding shadow entry is less than the number of active file pages.
> Since active file pages can't occupy more than half memory, we assume
> that the maximal effective refault distance can't be greater than half
> the number of present pages and size the shadow nodes lru list
> appropriately. Generally speaking, this assumption is correct, but it
> can result in wasting a considerable chunk of memory on stale shadow
> nodes in case the portion of file pages is small, e.g. if a workload
> mostly uses anonymous memory.
> 
> To sort this out, we need to compute the size of shadow nodes lru basing
> not on the maximal possible, but the current size of file cache. We
> could take the size of active file lru for the maximal refault distance,
> but active lru is pretty unstable - it can shrink dramatically at
> runtime possibly disrupting workingset detection logic.
> 
> Instead we assume that the maximal refault distance equals half the
> total number of file cache pages. This will protect us against active
> file lru size fluctuations while still being correct, because size of
> active lru is normally maintained lower than size of inactive lru.
> 
> Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com>

Acked-by: Johannes Weiner <hannes@cmpxchg.org>

Begrudgingly, because I don't think it matters that much and I like
the dumber version. But it's a reasonable change nonetheless.

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


Thread

[PATCH v2 0/6] mm: workingset: make shadow node shrinker memcg aware Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-09 15:00 +0100
  [PATCH v2 4/6] radix-tree: account radix_tree_node to memory cgroup Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-09 15:00 +0100
  [PATCH v2 5/6] mm: workingset: size shadow nodes lru basing on file cache size Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-09 15:00 +0100
    Re: [PATCH v2 5/6] mm: workingset: size shadow nodes lru basing on  file cache size Johannes Weiner <hannes@cmpxchg.org> - 2016-02-10 00:20 +0100
  [PATCH v2 2/6] mm: vmscan: pass root_mem_cgroup instead of NULL to memcg aware shrinker Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-09 15:00 +0100
  [PATCH v2 3/6] mm: memcontrol: zap memcg_kmem_online helper Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-09 15:00 +0100
  [PATCH v2 1/6] mm: memcontrol: enable kmem accounting for all cgroups in the legacy hierarchy Vladimir Davydov <vdavydov@virtuozzo.com> - 2016-02-09 15:00 +0100

csiph-web