[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <64bb37e0711062315jef9efd7xc2ffc11b6d6c60fa@mail.gmail.com>
Date: Wed, 7 Nov 2007 08:15:06 +0100
From: "Torsten Kaiser" <just.for.lkml@...glemail.com>
To: "David Chinner" <dgc@....com>
Cc: "Fengguang Wu" <wfg@...l.ustc.edu.cn>,
"Peter Zijlstra" <peterz@...radead.org>,
"Maxim Levitsky" <maximlevitsky@...il.com>,
linux-kernel@...r.kernel.org,
"Andrew Morton" <akpm@...ux-foundation.org>,
linux-fsdevel@...r.kernel.org
Subject: Re: writeout stalls in current -git
On 11/7/07, David Chinner <dgc@....com> wrote:
> Ok, so it's not synchronous writes that we are doing - we're just
> submitting bio's tagged as WRITE_SYNC to get the I/O issued quickly.
> The "synchronous" nature appears to be coming from higher level
> locking when reclaiming inodes (on the flush lock). It appears that
> inode write clustering is failing completely so we are writing the
> same block multiple times i.e. once for each inode in the cluster we
> have to write.
Works for me. The only remaining stalls are sub second and look
completely valid, considering the amount of files being removed.
iostat 10 from this test:
3 0 0 3500192 332 204956 0 0 105 8512 1809 6473 6 10 83 1
0 0 0 3500200 332 204576 0 0 0 4367 1355 3712 2 6 92 0
2 0 0 3504264 332 203528 0 0 0 6805 1912 4967 4 8 88 0
0 0 0 3511632 332 203528 0 0 0 2843 805 1791 2 4 94 0
0 0 0 3516852 332 203516 0 0 0 3375 879 2712 3 5 93 0
0 0 0 3530544 332 202668 0 0 186 776 488 1152 4 2 89 4
0 0 0 3574788 332 204960 0 0 226 326 358 787 0 1 98 0
0 0 0 3576820 332 204960 0 0 0 376 332 737 0 0 99 0
0 0 0 3578432 332 204960 0 0 0 356 293 606 1 1 99 0
0 0 0 3580192 332 204960 0 0 0 101 104 384 0 0 99 0
I'm pleased to note that this is now much faster again.
Thanks!
Tested-by: Torsten Kaiser <just.for.lkml@...glemail.com>
CC's please note: It looks like this was really a different problem
then the 100% iowait that was seen with reiserfs.
Also the one complete stall I have seen is probably something else.
But I have not been able to reproduce this again with -mm and have
never seen this on mainline, so I will just ignore that single event
until I see it again.
Torsten
> ---
> fs/xfs/xfs_iget.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: 2.6.x-xfs-new/fs/xfs/xfs_iget.c
> ===================================================================
> --- 2.6.x-xfs-new.orig/fs/xfs/xfs_iget.c 2007-11-02 13:44:46.000000000 +1100
> +++ 2.6.x-xfs-new/fs/xfs/xfs_iget.c 2007-11-07 13:08:42.534440675 +1100
> @@ -248,7 +248,7 @@ finish_inode:
> icl = NULL;
> if (radix_tree_gang_lookup(&pag->pag_ici_root, (void**)&iq,
> first_index, 1)) {
> - if ((iq->i_ino & mask) == first_index)
> + if ((XFS_INO_TO_AGINO(mp, iq->i_ino) & mask) == first_index)
> icl = iq->i_cluster;
> }
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists