lkml.org 
[lkml]   [2005]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] Per-sb s_all_inodes list
On Mon, Jan 10, 2005 at 04:19:24PM -0500, Mike Waychison wrote:
> Releasing a super_block requires walking all inodes for the given
> superblock and releasing them. Currently, inodes are found on one of
> four lists:
[...]
> The second list, inode_unused can potentially be quite large.
> Unfortunately, it cannot be made per-sb as it is the global LRU list
> used for inode cache reduction under memory pressure.
> When unmounting a single filesystem, profiling shows dramatic time spent
> walking inode_unused. This because very noticeble when one is
> unmounting a decently sized tree of filesystems.
> The proposed solution is to create a new list per-sb, that contains all
> inodes allocated. It is maintained under the inode_lock for the sake of
> simplicity, but this may prove unneccesary, and may be better done with
> another global or per-sb lock.

I thought this was a good idea a number of months ago myself when I saw
a patch for 2.4.x implementing this from Kirill Korotaev, so I ported
that code to 2.6.x and it got merged in -mm then. That patch was merged
into Linus' bk shortly after 2.6.10. Could you check Linus' bk to see
if what made it there resolves the issue as well as your own?

-- wli
-
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/

\
 
 \ /
  Last update: 2005-03-22 14:09    [W:0.040 / U:0.272 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site