Messages in this thread | | | Date | Mon, 19 Jun 2006 11:34:26 +0200 | From | Jan Blunck <> | Subject | Re: [patch 0/5] [PATCH,RFC] vfs: per-superblock unused dentries list (2nd version) |
| |
On Sat, Jun 17, Neil Brown wrote:
> But I cannot see that the whole LRU list needs to be scanned during > unmount. > The only thing that does that is shrink_dcache_sb, which is used: > in do_remount_sb > in __invalidate_device > in a few filesystems (autofs, coda, smbfs) > and not when unmounting the filesystem (despite the comment). > > (This is in 2.6.17-ec6-mm2). > > I can see that shrink_dcache_sb could take a long time and should be > fixed, which should be as simple as replacing it with > shrink_dcache_parent; shrink_dcache_anon.
I don't remember exactly, maybe it was remounting instead of unmounting. Although I believe that we should call shrink_dcache_sb() instead of shrink_dcache_anon()+parent() when unmounting. I don't see any reason why we should shrink the dcache with depth-first traversal instead of just killing every unused dentry that we find (not even talking about that DCACHE_REFERENCE handling is nonesense in that case).
> But I'm still puzzled as to why a long dcache LRU slows down > unmounting. > > Can you give more details?
I think David already answered that.
Jan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |