From mboxrd@z Thu Jan 1 00:00:00 1970 From: jblunck@suse.de Subject: [patch 0/5] [PATCH,RFC] vfs: per-superblock unused dentries list (2nd version) Date: Thu, 01 Jun 2006 11:51:25 +0200 Message-ID: <20060601095125.773684000@hasse.suse.de> Cc: linux-fsdevel@vger.kernel.org, akpm@osdl.org, viro@zeniv.linux.org.uk, dgc@sgi.com, balbir@in.ibm.com Return-path: Received: from mail.suse.de ([195.135.220.2]:53647 "EHLO mx1.suse.de") by vger.kernel.org with ESMTP id S964908AbWFAKCr (ORCPT ); Thu, 1 Jun 2006 06:02:47 -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 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. Comments? Jan