• Tao Ma's avatar
    block: Make cfq_target_latency tunable through sysfs. · 5bf14c07
    Tao Ma authored
    In cfq, when we calculate a time slice for a process(or a cfqq to
    be precise), we have to consider the cfq_target_latency so that all the
    sync request have an estimated latency(300ms) and it is controlled by
    cfq_target_latency. But in some hadoop test, we have found that if
    there are many processes doing sequential read(24 for example), the
    throughput is bad because every process can only work for about 25ms
    and the cfqq is switched. That leads to a higher disk seek. We can
    achive the good throughput by setting low_latency=0, but then some
    read's latency is too much for the application.
    
    So this patch makes cfq_target_latency tunable through sysfs so that
    we can tune it and find some magic number which is not bad for both
    the throughput and the read latency.
    
    Cc: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: default avatarTao Ma <boyu.mt@taobao.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    5bf14c07
cfq-iosched.c 99.7 KB