lkml.org 
[lkml]   [2011]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[PATCH 0/3] sync livelock fixes v2
    Andrew,

    changes from v1:
    - retain tagged sync behavior for all WB_SYNC_ALL callers (Dave Chinner)
    - rename wbc.for_sync to wbc.tagged_sync
    - remove the changes to trace events

    The below sync livelock test script is working fine after this patchset:

    sync time: 2
    Dirty: 26492 kB
    Writeback: 30260 kB
    NFS_Unstable: 0 kB
    WritebackTmp: 0 kB
    sync NOT livelocked

    In particular patch 2 fixes the sync livelock problem introduced by patch
    "writeback: try more writeback as long as something was written".

    Thanks,
    Fengguang
    ---

    #!/bin/sh

    umount /dev/sda7
    # mkfs.xfs -f /dev/sda7
    mkfs.ext4 /dev/sda7
    mount /dev/sda7 /fs

    echo $((50<<20)) > /proc/sys/vm/dirty_bytes

    pid=
    for i in `seq 10`
    do
    dd if=/dev/zero of=/fs/zero-$i bs=1M count=1000 &
    pid="$pid $!"
    done

    sleep 1

    tic=$(date +'%s')
    sync
    tac=$(date +'%s')

    echo
    echo sync time: $((tac-tic))
    egrep '(Dirty|Writeback|NFS_Unstable)' /proc/meminfo

    pidof dd > /dev/null && { kill -9 $pid; echo sync NOT livelocked; }





    \
     
     \ /
      Last update: 2011-05-02 05:35    [W:0.019 / U:2.200 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site