lkml.org 
[lkml]   [2006]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: o_sync in vfat driver
    Hi all,

    Chris Mason wrote:
    > On Monday 27 February 2006 18:12, Andrew Morton wrote:
    >
    >> We don't know that the same number of same-sized write()s were happening in
    >> each case.
    >>
    >> There's been some talk about implementing fsync()-on-file-close for this
    >> problem, and some protopatches. But nothing final yet.
    >>
    >
    > Here's the patch I'm using in -suse right now. What I want to do is make a
    > much more generic -o flush, but it'll still need a few bits in individual
    > filesystem to kick off metadata writes quickly.
    >
    > The basic goal behind the code is to trigger writes without waiting for both
    > data and metadata. If the user is watching the memory stick, when the
    > little light stops flashing all the data and metadata will be on disk.
    >
    > It also generally throttles userland a little during file release. This
    > could be changed to throttle for each page dirtied, but most users I
    > asked liked the current setup better.
    >

    I like the idea and would like to see something like this in mainline.

    Here is some non-scientific benchmark done with 2.6.16, comparing
    default mount and flush mount of a USB2 stick:

    /////////////////////////////////////////////////////////////////////
    Single File "Test": 43MB
    $ time cp Test /media/usbdisk/test/ && time umount /media/usbdisk/
    /////////////////////////////////////////////////////////////////////

    VANILLA:

    real 0m3.770s
    user 0m0.004s
    sys 0m0.308s

    real 0m9.439s
    user 0m0.000s
    sys 0m0.040s

    FLUSH:

    real 0m6.000s
    user 0m0.012s
    sys 0m0.400s

    real 0m3.668s
    user 0m0.000s
    sys 0m0.028s

    REAL TIME RATIO (FLUSH/VANILLA):
    9.6 / 13.1 = 0.73

    /////////////////////////////////////////////////////////////////////
    Directory Tree "flushtest": 44MB (8866 files, 1820 dirs)
    $ time cp -R flushtest/ /media/usbdisk/ && time umount /media/usbdisk/
    /////////////////////////////////////////////////////////////////////

    VANILLA:

    real 0m0.966s
    user 0m0.024s
    sys 0m0.860s

    real 1m11.962s
    user 0m0.004s
    sys 0m0.160s

    FLUSH:

    real 1m41.645s
    user 0m0.032s
    sys 0m1.112s

    real 0m4.660s
    user 0m0.004s
    sys 0m0.068s

    REAL TIME RATIO (FLUSH/VANILLA):
    106.3 / 77.9 = 1.36

    -
    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: 2006-03-29 04:14    [W:2.140 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site