[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120501201504.GB2112@cmpxchg.org>
Date: Tue, 1 May 2012 22:15:04 +0200
From: Johannes Weiner <hannes@...xchg.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-mm@...ck.org, Rik van Riel <riel@...hat.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Mel Gorman <mgorman@...e.de>,
Minchan Kim <minchan.kim@...il.com>,
Hugh Dickins <hughd@...gle.com>,
KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [patch 2/5] mm + fs: prepare for non-page entries in page cache
On Tue, May 01, 2012 at 12:02:46PM -0700, Andrew Morton wrote:
> On Tue, 1 May 2012 10:41:50 +0200
> Johannes Weiner <hannes@...xchg.org> wrote:
>
> > --- a/fs/inode.c
> > +++ b/fs/inode.c
> > @@ -544,8 +544,7 @@ static void evict(struct inode *inode)
> > if (op->evict_inode) {
> > op->evict_inode(inode);
> > } else {
> > - if (inode->i_data.nrpages)
> > - truncate_inode_pages(&inode->i_data, 0);
> > + truncate_inode_pages(&inode->i_data, 0);
>
> Why did we lose this optimisation?
For inodes with only shadow pages remaining in the tree, because there
is no separate counter for them. Otherwise, we'd leak the tree nodes.
I had mapping->nrshadows at first to keep truncation conditional, but
thought that using an extra word per cached inode would be worse than
removing this optimization. There is not too much being done when the
tree is empty.
Another solution would be to include the shadows count in ->nrpages,
but filesystems use this counter for various other purposes.
Do you think it's worth reconsidering?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists