• Mikulas Patocka's avatar
    dm io: remove BIO_RW_SYNCIO flag from kcopyd · d9bf0b50
    Mikulas Patocka authored
    Remove the REQ_SYNC flag to improve write throughput when writing
    to the origin with a snapshot on the same device (using the CFQ I/O
    scheduler).
    
    Sequential write throughput (chunksize of 4k, 32k, 512k)
      unpatched:  8.5,  8.6,  9.3 MB/s
      patched:   15.2, 18.5, 17.5 MB/s
    
    Snapshot exception reallocations are triggered by writes that are
    usually async, so mark the associated dm_io_request as async as well.
    This helps when using the CFQ I/O scheduler because it has separate
    queues for sync and async I/O.  Async is optimized for throughput; sync
    for latency.  With this change we're consciously favoring throughput over
    latency.
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
    d9bf0b50
dm-kcopyd.c 14 KB