block, bfq: update base request service times when possible
authorPaolo Valente <paolo.valente@linaro.org>
Tue, 25 Jun 2019 05:12:45 +0000 (07:12 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 25 Jun 2019 15:07:34 +0000 (09:07 -0600)
commit24792ad01cb659c8b5899de2af6e8ca250f93df3
treeccb4a16c5352a4334c88e2ec647e49c66947857f
parentdb599f9ed9bd31b018b6c48ad7c6b21d5b790ecf
block, bfq: update base request service times when possible

I/O injection gets reduced if it increases the request service times
of the victim queue beyond a certain threshold.  The threshold, in its
turn, is computed as a function of the base service time enjoyed by
the queue when it undergoes no injection.

As a consequence, for injection to work properly, the above base value
has to be accurate. In this respect, such a value may vary over
time. For example, it varies if the size or the spatial locality of
the I/O requests in the queue change. It is then important to update
this value whenever possible. This commit performs this update.

Reported-by: Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu>
Tested-by: Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu>
Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bfq-iosched.c