From mboxrd@z Thu Jan 1 00:00:00 1970 From: jblunck@suse.de Subject: [PATCH 0/5] vfs: per-superblock unused dentries list (3rd version) Date: Fri, 16 Jun 2006 12:43:21 +0200 Message-ID: <20060616104321.778718000@hasse.suse.de> Cc: linux-fsdevel@vger.kernel.org, akpm@osdl.org, viro@zeniv.linux.org.uk, dgc@sgi.com, balbir@in.ibm.com, neilb@suse.de Return-path: Received: from cantor.suse.de ([195.135.220.2]:63872 "EHLO mx1.suse.de") by vger.kernel.org with ESMTP id S1751370AbWFPSns (ORCPT ); Fri, 16 Jun 2006 14:43:48 -0400 To: linux-kernel@vger.kernel.org Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org 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