Re: [PATCH] Per-superblock unused dentry LRU lists V3

From: David Chinner
Date: Tue May 30 2006 - 20:40:17 EST


On Tue, May 30, 2006 at 05:04:38PM +0200, Jan Blunck wrote:
> > David Chinner <dgc@xxxxxxx> wrote:
> > -
> > void shrink_dcache_sb(struct super_block * sb)
> > {
....
> > + __shrink_dcache_sb(sb, &sb->s_dentry_lru_nr, 0);
> > }
>
> This doesn't prune all the dentries on the unused list. The parents of the
> pruned dentries are added to the unused list. Therefore just shrinking
> sb->s_dentry_lru_nr dentries isn't enough.

Yes, you are right, Jan. I'm surprised I didn't see problems due to this.
The original patch got this right by shrinking in this case until the list
was empty. I'll wrap this one in a while loop...

Cheers,

Dave.
--
Dave Chinner
R&D Software Enginner
SGI Australian Software Group
-
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/