lkml.org 
[lkml]   [2022]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH RESEND v6 6/8] blk-throttle: calling throtl_dequeue/enqueue_tg in pairs
    Date
    From: Yu Kuai <yukuai3@huawei.com>

    It's a litter weird to call throtl_dequeue_tg() unconditionally in
    throtl_select_dispatch(), since it will be called in
    tg_update_disptime() again if some bio is still throttled.

    Signed-off-by: Yu Kuai <yukuai3@huawei.com>
    ---
    block/blk-throttle.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/block/blk-throttle.c b/block/blk-throttle.c
    index e690dc1c1cde..ab30efedff4e 100644
    --- a/block/blk-throttle.c
    +++ b/block/blk-throttle.c
    @@ -1151,13 +1151,13 @@ static int throtl_select_dispatch(struct throtl_service_queue *parent_sq)
    if (time_before(jiffies, tg->disptime))
    break;

    - throtl_dequeue_tg(tg);
    -
    nr_disp += throtl_dispatch_tg(tg);

    sq = &tg->service_queue;
    if (sq->nr_queued[READ] || sq->nr_queued[WRITE])
    tg_update_disptime(tg);
    + else
    + throtl_dequeue_tg(tg);

    if (nr_disp >= THROTL_QUANTUM)
    break;
    --
    2.31.1
    \
     
     \ /
      Last update: 2022-07-01 11:23    [W:3.605 / U:0.420 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site