Re: [patch 37/52] fs: icache lazy lru

From: Dave Chinner
Date: Wed Jun 30 2010 - 22:47:07 EST


On Wed, Jun 30, 2010 at 10:06:31PM +1000, Nick Piggin wrote:
> On Wed, Jun 30, 2010 at 06:38:14PM +1000, Dave Chinner wrote:
> > On Thu, Jun 24, 2010 at 01:02:49PM +1000, npiggin@xxxxxxx wrote:
> > > Impelemnt lazy inode lru similarly to dcache. This will reduce lock
> > > acquisition and will help to improve lock ordering subsequently.
> >
> > I'm not sure we want the I_REFERENCED reclaim free pass for a clean
> > inode that has been put on the LRU directly. I can see exactly how
> > it is benficial to delay reclaim of dirty inodes (XFS uses that
> > trick), but in terms of aging the cache we've already done this
> > free pass trick at the dentry level. Hence I think the frequent
> > separate access patterns tend to be filtered out at the dcache level
> > and hence we don't need to handle that in the inode cache.
> >
> > Perhaps we only need the I_REFERENCED flag to give dirty inodes a
> > chance to be flushed by other means before forcing reclaim to do
> > inode writeback?
>
> It doesn't force flush, but it force invalidates pagecache.

Sorry, bad choice of words - I should have said "forcing reclaim to
wait on inode writeback". That is what will happen in the case of
delayed allocation - the page cache will be clean, but the inode
can be dirty, so reclaiming such an inode would cause the shrinker
to block in clear_inode() waiting for inode writeback to
complete.

However, that is mostly irrelevant - you haven't comented at all on
whether the I_REFERENCED flag is too broad or even needed which is
what really needs to be discussed about this patch....

Cheers,

Dave.

--
Dave Chinner
david@xxxxxxxxxxxxx
--
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/