lkml.org 
[lkml]   [2019]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.3 36/49] block, bfq: push up injection only after setting service time
    Date
    From: Paolo Valente <paolo.valente@linaro.org>

    [ Upstream commit 58494c980f40274c465ebfdece02d401def088bf ]

    If equal to 0, the injection limit for a bfq_queue is pushed to 1
    after a first sample of the total service time of the I/O requests of
    the queue is computed (to allow injection to start). Yet, because of a
    mistake in the branch that performs this action, the push may happen
    also in some other case. This commit fixes this issue.

    Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
    Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    block/bfq-iosched.c | 12 +++++++-----
    1 file changed, 7 insertions(+), 5 deletions(-)

    diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
    index b33be928d164f..70bcbd02edcb1 100644
    --- a/block/bfq-iosched.c
    +++ b/block/bfq-iosched.c
    @@ -5809,12 +5809,14 @@ static void bfq_update_inject_limit(struct bfq_data *bfqd,
    */
    if ((bfqq->last_serv_time_ns == 0 && bfqd->rq_in_driver == 1) ||
    tot_time_ns < bfqq->last_serv_time_ns) {
    + if (bfqq->last_serv_time_ns == 0) {
    + /*
    + * Now we certainly have a base value: make sure we
    + * start trying injection.
    + */
    + bfqq->inject_limit = max_t(unsigned int, 1, old_limit);
    + }
    bfqq->last_serv_time_ns = tot_time_ns;
    - /*
    - * Now we certainly have a base value: make sure we
    - * start trying injection.
    - */
    - bfqq->inject_limit = max_t(unsigned int, 1, old_limit);
    } else if (!bfqd->rqs_injected && bfqd->rq_in_driver == 1)
    /*
    * No I/O injected and no request still in service in
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-09-29 19:43    [W:4.056 / U:0.728 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site