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 v6 7/8] blk-throttle: cleanup tg_update_disptime()
    Date
    th_update_disptime() only need to adjust postion for 'tg' in
    'parent_sq', there is no need to call throtl_enqueue/dequeue_tg().

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

    diff --git a/block/blk-throttle.c b/block/blk-throttle.c
    index ab30efedff4e..473f0b651ef0 100644
    --- a/block/blk-throttle.c
    +++ b/block/blk-throttle.c
    @@ -520,7 +520,6 @@ static void throtl_rb_erase(struct rb_node *n,
    {
    rb_erase_cached(n, &parent_sq->pending_tree);
    RB_CLEAR_NODE(n);
    - --parent_sq->nr_pending;
    }

    static void update_min_dispatch_time(struct throtl_service_queue *parent_sq)
    @@ -572,7 +571,11 @@ static void throtl_enqueue_tg(struct throtl_grp *tg)
    static void throtl_dequeue_tg(struct throtl_grp *tg)
    {
    if (tg->flags & THROTL_TG_PENDING) {
    - throtl_rb_erase(&tg->rb_node, tg->service_queue.parent_sq);
    + struct throtl_service_queue *parent_sq =
    + tg->service_queue.parent_sq;
    +
    + throtl_rb_erase(&tg->rb_node, parent_sq);
    + --parent_sq->nr_pending;
    tg->flags &= ~THROTL_TG_PENDING;
    }
    }
    @@ -1040,9 +1043,9 @@ static void tg_update_disptime(struct throtl_grp *tg)
    disptime = jiffies + min_wait;

    /* Update dispatch time */
    - throtl_dequeue_tg(tg);
    + throtl_rb_erase(&tg->rb_node, tg->service_queue.parent_sq);
    tg->disptime = disptime;
    - throtl_enqueue_tg(tg);
    + tg_service_queue_add(tg);

    /* see throtl_add_bio_tg() */
    tg->flags &= ~THROTL_TG_WAS_EMPTY;
    --
    2.31.1
    \
     
     \ /
      Last update: 2022-07-01 09:56    [W:2.701 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site