summaryrefslogtreecommitdiff
path: root/block/cfq-iosched.c
diff options
context:
space:
mode:
authorPaolo Valente <paolo.valente@linaro.org>2017-08-04 08:35:11 +0300
committerJens Axboe <axboe@kernel.dk>2017-08-11 17:58:03 +0300
commitedaf94285bf98375d45cc95bbfd4b9d57796c864 (patch)
tree1a3a79ccc855190bef281b3c12031ecf950ae485 /block/cfq-iosched.c
parentd5be3fefc9e2db68eacfc7cfe265e2e860e4213f (diff)
downloadlinux-edaf94285bf98375d45cc95bbfd4b9d57796c864.tar.xz
block, bfq: boost throughput with flash-based non-queueing devices
When a queue associated with a process remains empty, there are cases where throughput gets boosted if the device is idled to await the arrival of a new I/O request for that queue. Currently, BFQ assumes that one of these cases is when the device has no internal queueing (regardless of the properties of the I/O being served). Unfortunately, this condition has proved to be too general. So, this commit refines it as "the device has no internal queueing and is rotational". This refinement provides a significant throughput boost with random I/O, on flash-based storage without internal queueing. For example, on a HiKey board, throughput increases by up to 125%, growing, e.g., from 6.9MB/s to 15.6MB/s with two or three random readers in parallel. Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Luca Miccio <lucmiccio@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/cfq-iosched.c')
0 files changed, 0 insertions, 0 deletions