• Tahsin Erdogan's avatar
    block: Make CFQ default to IOPS mode on SSDs · 41c0126b
    Tahsin Erdogan authored
    CFQ idling causes reduced IOPS throughput on non-rotational disks.
    Since disk head seeking is not applicable to SSDs, it doesn't really
    help performance by anticipating future near-by IO requests.
    
    By turning off idling (and switching to IOPS mode), we allow other
    processes to dispatch IO requests down to the driver and so increase IO
    throughput.
    
    Following FIO benchmark results were taken on a cloud SSD offering with
    idling on and off:
    
    Idling     iops    avg-lat(ms)    stddev            bw
    ------------------------------------------------------
        On     7054    90.107         38.697     28217KB/s
       Off    29255    21.836         11.730    117022KB/s
    
    fio --name=temp --size=100G --time_based --ioengine=libaio \
        --randrepeat=0 --direct=1 --invalidate=1 --verify=0 \
        --verify_fatal=0 --rw=randread --blocksize=4k --group_reporting=1 \
        --filename=/dev/sdb --runtime=10 --iodepth=64 --numjobs=10
    
    And the following is from a local SSD run:
    
    Idling     iops    avg-lat(ms)    stddev            bw
    ------------------------------------------------------
        On    19320    33.043         14.068     77281KB/s
       Off    21626    29.465         12.662     86507KB/s
    
    fio --name=temp --size=5G --time_based --ioengine=libaio \
        --randrepeat=0 --direct=1 --invalidate=1 --verify=0 \
        --verify_fatal=0 --rw=randread --blocksize=4k --group_reporting=1 \
        --filename=/fio_data --runtime=10 --iodepth=64 --numjobs=10
    Reviewed-by: default avatarNauman Rafique <nauman@google.com>
    Signed-off-by: default avatarTahsin Erdogan <tahsin@google.com>
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    41c0126b
cfq-iosched.c 120 KB