Google luky.org euqset.org

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


$B$3$N>pJs$,$"$J$?$NC5$7$F$$?$b$N$+$I$&$+A*Br$7$F$/$@$5$!#(B
yes/$B$^$5$K$3$l$@!*(B   no/$B0c$&$J$!(B   part/$B0lIt8+$D$+$C$?(B   try/$B$3$l$G;n$7$F$_$k(B

$B$"$J$?$,C5$7$F$$?>pJs$O$I$N$h$&$J$3$H$+!"$4<+M3$K5-F~2<$5$!#FC$K!V$^$5$K$3$l$@!*!W$H8@$&>l9g$O5-F~$r$*4j$$7$^$9!#(B
$BNc(B:$B!VJ#?t$N%^%7%s$+$i(BCATV$B7PM3$G(Bipmasquerade$B$rMxMQ$7$F(BWeb$B$r;2>H$7$?$>l9g$N@_Dj$K$D$$F!W(B
Follow-Ups: References: