block, bfq: increase update frequency of inject limit
authorPaolo Valente <paolo.valente@linaro.org>
Thu, 22 Aug 2019 15:20:36 +0000 (17:20 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 18 Sep 2019 02:03:49 +0000 (20:03 -0600)
The update period of the injection limit has been tentatively set to
100 ms, to reduce fluctuations. This value however proved to cause,
occasionally, the limit to be decremented for some bfq_queue only
after the queue underwent excessive injection for a lot of time. This
commit reduces the period to 10 ms.

Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bfq-iosched.c

index e114282204f66eb7de5f0ea5cc689497e664ea47..ddac93e910fa18b6b2944f1e9c6d301c733e2088 100644 (file)
@@ -2016,7 +2016,7 @@ static void bfq_add_request(struct request *rq)
                     (bfqq->last_serv_time_ns > 0 &&
                      bfqd->rqs_injected && bfqd->rq_in_driver > 0)) &&
                    time_is_before_eq_jiffies(bfqq->decrease_time_jif +
-                                             msecs_to_jiffies(100))) {
+                                             msecs_to_jiffies(10))) {
                        bfqd->last_empty_occupied_ns = ktime_get_ns();
                        /*
                         * Start the state machine for measuring the