linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 0/5] [PATCH,RFC] vfs: per-superblock unused dentries list (2nd version)
@ 2006-06-01  9:51 jblunck
  2006-06-01  9:51 ` [patch 5/5] vfs: per superblock dentry unused list jblunck
  0 siblings, 1 reply; 10+ messages in thread
From: jblunck @ 2006-06-01  9:51 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-fsdevel, akpm, viro, dgc, balbir

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


^ permalink raw reply	[flat|nested] 10+ messages in thread
* [PATCH 0/5] vfs: per-superblock unused dentries list (3rd version)
@ 2006-06-16 10:43 jblunck
  2006-06-16 10:43 ` [PATCH 5/5] vfs: per superblock dentry unused list jblunck
  0 siblings, 1 reply; 10+ messages in thread
From: jblunck @ 2006-06-16 10:43 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-fsdevel, akpm, viro, dgc, balbir, neilb

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



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2006-06-16 10:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20060526110655.197949000@suse.de>
2006-05-29  1:57 ` [patch 0/5] [RFC] vfs: per-superblock unused dentries list David Chinner
     [not found] ` <20060526110802.852609000@suse.de>
2006-05-29  2:24   ` [patch 4/5] vfs: per superblock dentry stats David Chinner
2006-05-29  9:43     ` Jan Blunck
     [not found] ` <20060526110803.159085000@suse.de>
2006-05-29  3:08   ` [patch 5/5] vfs: per superblock dentry unused list David Chinner
2006-05-29 11:54     ` Jan Blunck
2006-05-30  0:04       ` David Chinner
2006-05-30 10:06         ` Jan Blunck
2006-05-30 23:56           ` David Chinner
2006-06-01  9:51 [patch 0/5] [PATCH,RFC] vfs: per-superblock unused dentries list (2nd version) jblunck
2006-06-01  9:51 ` [patch 5/5] vfs: per superblock dentry unused list jblunck
  -- strict thread matches above, loose matches on Subject: below --
2006-06-16 10:43 [PATCH 0/5] vfs: per-superblock unused dentries list (3rd version) jblunck
2006-06-16 10:43 ` [PATCH 5/5] vfs: per superblock dentry unused list jblunck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).