Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1330768
| 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 |
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
[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