diff options
author | Paolo Valente <paolo.valente@linaro.org> | 2017-08-04 07:35:11 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-08-11 08:58:03 -0600 |
commit | edaf94285bf98375d45cc95bbfd4b9d57796c864 (patch) | |
tree | 1a3a79ccc855190bef281b3c12031ecf950ae485 /virt | |
parent | d5be3fefc9e2db68eacfc7cfe265e2e860e4213f (diff) | |
download | linux-stable-edaf94285bf98375d45cc95bbfd4b9d57796c864.tar.gz linux-stable-edaf94285bf98375d45cc95bbfd4b9d57796c864.tar.bz2 linux-stable-edaf94285bf98375d45cc95bbfd4b9d57796c864.zip |
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 'virt')
0 files changed, 0 insertions, 0 deletions