]> git.baikalelectronics.ru Git - kernel.git/commit
block, bfq: remove superfluous check in queue-merging setup
authorAngelo Ruocco <angeloruocco90@gmail.com>
Wed, 20 Dec 2017 11:38:34 +0000 (12:38 +0100)
committerJens Axboe <axboe@kernel.dk>
Fri, 5 Jan 2018 16:26:11 +0000 (09:26 -0700)
commit1a2720f405dbbdb353c4a5fc1d4b76adb46fcc67
tree6bc388cb660f4673aacbbcc705030c589c4748e5
parent20706a1b770a3fd9c39ca3384909fb6509da6d3d
block, bfq: remove superfluous check in queue-merging setup

When two or more processes do I/O in a way that the their requests are
sequential in respect to one another, BFQ merges the bfq_queues associated
with the processes. This way the overall I/O pattern becomes sequential,
and thus there is a boost in througput.
These cooperating processes usually start or restart to do I/O shortly
after each other. So, in order to avoid merging non-cooperating processes,
BFQ ensures that none of these queues has been in weight raising for too
long.

In this respect, from commit "block, bfq-sq, bfq-mq: let a queue be merged
only shortly after being created", BFQ checks whether any queue (and not
only weight-raised ones) is doing I/O continuously from too long to be
merged.

This new additional check makes the first one useless: a queue doing
I/O from long enough, if being weight-raised, is also a queue in
weight raising for too long to be merged. Accordingly, this commit
removes the first check.

Signed-off-by: Angelo Ruocco <angeloruocco90@gmail.com>
Signed-off-by: Paolo Valente <paolo.valente@linaro.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bfq-iosched.c