lkml.org 
[lkml]   [2009]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Linux 2.6.29
    Christoph Hellwig wrote:
    > On Fri, Mar 27, 2009 at 10:13:33AM -0400, Theodore Tso wrote:
    >
    >> On Fri, Mar 27, 2009 at 08:57:23AM +0100, Jens Axboe wrote:
    >>
    >>> Here's a simple patch that does that. Not even tested, it compiles. Note
    >>> that file systems that currently do blkdev_issue_flush() in their
    >>> ->sync() should then get it removed.
    >>>
    >>>
    >> That's going to be a mess. Ext3 implements an fsync() by requesting a
    >> journal commit, and then waiting for the commit to have taken place.
    >> The commit happens in another thread, kjournald. Knowing when it's OK
    >> not to do a blkdev_issue_flush() because the commit was triggered by
    >> an fsync() is going to be really messy. Could we at least have a flag
    >> in struct super which says, "We'll handle the flush correctly, please
    >> don't try to do it for us?"
    >>
    >
    > Doing it in vfs_fsync also is completely wrong layering. If people want
    > it for simple filesystems add it to file_fsync instead of messing up
    > the generic helper. Removing well meaning but ill behaved policy from
    > the generic path has been costing me far too much time lately.
    >
    > And please add a tuneable for the flush. Preferable a generic one at
    > the block device layer instead of the current mess where every
    > filesystem has a slightly different option for barrier usage.
    >

    I agree that we need to be careful not to put extra device flushes if
    the file system handles this properly. They can be quite expensive (say
    10-20ms on a busy s-ata disk).

    I have also seen some SSD devices have performance that drops into the
    toilet when you start flushing their volatile caches.

    ric



    \
     
     \ /
      Last update: 2009-03-27 16:09    [W:4.084 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site