This patch series is an updated version of my original patches. This time the changes Andrew proposed are adressed. David can you test them wrt the scan_count stuff? This is an attempt to have per-superblock unused dentry lists. Since dentries are lazy-removed from the unused list, one big list doesn't scale very good wrt systems with a hugh dentry cache. The dcache shrinkers spend a long time traversing the list under the dcache spinlock. The patches introduce an additional list_head per superblock holding only the dentries of the specific superblock. The next dentry can be found quickly so the shrinkers don't need to hold the dcache lock for long. One nice side-effect: the "busy inodes after unmount" race is fixed because prune_dcache() is getting the s_umount lock before it starts working on the superblock's dentries. These patches are against torvalds/linux-2.6.git from today. Comments? Jan - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html