[lkml]   [2009]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Linux 2.6.29

    On Wed, 25 Mar 2009, Theodore Tso wrote:
    > I still think the fsync() problem is the much bigger deal, and solving
    > the contention problem isn't going to solve the fsync() latency problem
    > with ext3 data=ordered mode.

    The fsync() problem is really annoying, but what is doubly annoying is
    that sometimes one process doing fsync() (or sync) seems to cause other
    processes to hickup too.

    Now, I personally solved that problem by moving to (good) SSD's on my
    desktop, and I think that's indeed the long-term solution. But it would be
    good to try to figure out a solution in the short term for people who
    don't have new hardware thrown at them from random companies too.

    I suspect it's a combination of filesystem transaction locking, together
    with the VM wanting to write out some unrelated blocks or inodes due to
    the system just being close to the dirty limits. Which is why the
    system-wide hickups then happen especially when writing big files.

    The VM _tries_ to do writes in the background, but if the writepage() path
    hits a filesystem-level blocking lock, that background write suddenly
    becomes largely synchronous.

    I suspect there is also some possibility of confusion with inter-file
    (false) metadata dependencies. If a filesystem were to think that the file
    size is metadata that should be journaled (in a single journal), and the
    journaling code then decides that it needs to do those meta-data updates
    in the correct order (ie the big file write _before_ the file write that
    wants to be fsync'ed), then the fsync() will be delayed by a totally
    irrelevant large file having to have its data written out (due to
    data=ordered or whatever).

    I'd like to think that no filesystem designer would ever be that silly,
    but I'm too scared to try to actually go and check. Because I could well
    imagine that somebody really thought that "size" is metadata.


     \ /
      Last update: 2009-03-25 18:39    [W:0.031 / U:9.984 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site