lkml.org 
[lkml]   [2007]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: writeout stalls in current -git
    On 11/7/07, David Chinner <dgc@sgi.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@googlemail.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@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: 2007-11-07 08:19    [W:0.025 / U:92.348 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site