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)
commit4403e4e467c365b4189e3e3d3ad35cf67b8c36ed
tree6bc388cb660f4673aacbbcc705030c589c4748e5
parent7b8fa3b900a087bc03b11329a92398fde563ba37
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