Re: [patch 0/5] refault distance-based file cache sizing

From: Andrew Morton
Date: Tue May 01 2012 - 17:27:04 EST


On Tue, 01 May 2012 17:19:16 -0400
Rik van Riel <riel@xxxxxxxxxx> wrote:

> On 05/01/2012 03:08 PM, Andrew Morton wrote:
> > On Tue, 1 May 2012 10:41:48 +0200
> > Johannes Weiner<hannes@xxxxxxxxxxx> wrote:
> >
> >> This series stores file cache eviction information in the vacated page
> >> cache radix tree slots and uses it on refault to see if the pages
> >> currently on the active list need to have their status challenged.
> >
> > So we no longer free the radix-tree node when everything under it has
> > been reclaimed? One could create workloads which would result in a
> > tremendous amount of memory used by radix_tree_node_cachep objects.
> >
> > So I assume these things get thrown away at some point. Some
> > discussion about the life-cycle here would be useful.
>
> I assume that in the current codebase Johannes has, we would
> have to rely on the inode cache shrinker to reclaim the inode
> and throw out the radix tree nodes.
>
> Having a better way to deal with radix tree nodes that contain
> stale entries (where the evicted pages would no longer receive
> special treatment on re-fault, because it has been so long) get
> reclaimed would be nice for a future version.
>

Well, think of a stupid workload which creates a large number of very
large but sparse files (populated with one page in each 64, for
example). Get them all in cache, then sit there touching the inodes to
keep then fresh. What's the worst case here?


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/