• Vivek Goyal's avatar
    blkio: Wait on sync-noidle queue even if rq_noidle = 1 · c04645e5
    Vivek Goyal authored
    o rq_noidle() is supposed to tell cfq that do not expect a request after this
      one, hence don't idle. But this does not seem to work very well. For example
      for direct random readers, rq_noidle = 1 but there is next request coming
      after this. Not idling, leads to a group not getting its share even if
      group_isolation=1.
    
    o The right solution for this issue is to scan the higher layers and set
      right flag (WRITE_SYNC or WRITE_ODIRECT). For the time being, this single
      line fix helps. This should not have any significant impact when we are
      not using cgroups. I will later figure out IO paths in higher layer and
      fix it.
    Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    c04645e5
cfq-iosched.c 96.6 KB