lkml.org 
[lkml]   [2010]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: trying to understand READ_META, READ_SYNC, WRITE_SYNC & co
    On Fri, Jun 25, 2010 at 11:35:10PM -0400, Vivek Goyal wrote:
    > This logic was introduced by corrado to ensure WRITE_SYNC does not
    > lose fair share. Now we are back to the same question, what is the workload
    > which does that.
    >
    > 8e55063 cfq-iosched: fix corner cases in idling logic
    >
    > Before this patch, we will simply not do any idling on WRITE_SYNC. That
    > means no idling on O_SYNC/fsync paths but still idle on direct IO
    > WRITE_SYNC. Which is a bit of discrepancy.

    Corrado, can you explain what workloads you doing that commit for?
    The commit message doesn't really given any useful information.


    > - Stop idling on all the WRITE_SYNC IO. There is no reasonable way to
    > tell whether there will be more IO or not from applicatoin. This will
    > impact direct writes, O_SYNC writes and fsync().
    >
    > If direct IO application is submitting writes with a delay in between
    > it can be starved out in presnce of competing workloads.

    So what application does this?

    > - Do idling by default on WRITE_SYNC path. Implement Jeff's queue yielding
    > patches. That way O_SYNC/fsyn path will call blk_yield() and stop idling.
    > Direct IO write path will stil continue to idle (I think if file has already
    > been laid out?).

    I don't think this makes much sense. And O_SYNC write / fsync are
    defined to not return before the I/O makes it to disk, and for any
    sane filesystem end with a WRITE_BARRIER request because of that.
    So we end these with an explicit unplug anyway, no need for idling
    logic.



    \
     
     \ /
      Last update: 2010-06-26 12:09    [W:7.956 / U:0.372 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site