]> git.baikalelectronics.ru Git - kernel.git/commit
blk-throttle: set default latency baseline for harddisk
authorShaohua Li <shli@fb.com>
Tue, 6 Jun 2017 19:40:43 +0000 (12:40 -0700)
committerJens Axboe <axboe@fb.com>
Wed, 7 Jun 2017 15:09:32 +0000 (09:09 -0600)
commitbc9ee014209d64151c8a9a3ee16abd7c4520c0a0
treee700714df531b4c6aeaacdde3b59b1c8a28b6ff5
parent99e1b2924eb162dda005965785f27f1ac954f3ef
blk-throttle: set default latency baseline for harddisk

hard disk IO latency varies a lot depending on spindle move. The latency
range could be from several microseconds to several milliseconds. It's
pretty hard to get the baseline latency used by io.low.

We will use a different stragety here. The idea is only using IO with
spindle move to determine if cgroup IO is in good state. For HD, if io
latency is small (< 1ms), we ignore the IO. Such IO is likely from
sequential IO, and is helpless to help determine if a cgroup's IO is
impacted by other cgroups. With this, we only account IO with big
latency. Then we can choose a hardcoded baseline latency for HD (4ms,
which is typical IO latency with seek).  With all these settings, the
io.low latency works for both HD and SSD.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-throttle.c