[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <FA78962A-DC03-4A1F-9B79-D085A4908E5E@linaro.org>
Date: Fri, 10 Dec 2021 11:00:37 +0100
From: Paolo Valente <paolo.valente@...aro.org>
To: Yu Kuai <yukuai3@...wei.com>
Cc: Tejun Heo <tj@...nel.org>, Jens Axboe <axboe@...nel.dk>,
cgroups@...r.kernel.org, linux-block <linux-block@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>, yi.zhang@...wei.com
Subject: Re: [PATCH RFC 8/9] block, bfq: move forward
__bfq_weights_tree_remove()
> Il giorno 27 nov 2021, alle ore 11:11, Yu Kuai <yukuai3@...wei.com> ha scritto:
>
> Prepare to decrease 'num_groups_with_pending_reqs' earlier.
>
> Signed-off-by: Yu Kuai <yukuai3@...wei.com>
> ---
> block/bfq-iosched.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
> index e3c31db4bffb..4239b3996e23 100644
> --- a/block/bfq-iosched.c
> +++ b/block/bfq-iosched.c
> @@ -882,6 +882,10 @@ void bfq_weights_tree_remove(struct bfq_data *bfqd,
> {
> struct bfq_entity *entity = bfqq->entity.parent;
>
> + bfqq->ref++;
> + __bfq_weights_tree_remove(bfqd, bfqq,
> + &bfqd->queue_weights_tree);
> +
> for_each_entity(entity) {
> struct bfq_sched_data *sd = entity->my_sched_data;
>
> @@ -916,14 +920,7 @@ void bfq_weights_tree_remove(struct bfq_data *bfqd,
> }
> }
>
> - /*
> - * Next function is invoked last, because it causes bfqq to be
> - * freed if the following holds: bfqq is not in service and
> - * has no dispatched request. DO NOT use bfqq after the next
> - * function invocation.
> - */
> - __bfq_weights_tree_remove(bfqd, bfqq,
> - &bfqd->queue_weights_tree);
> + bfq_put_queue(bfqq);
> }
>
why it is not dangerous any longer to invoke __bfq_weights_tree_remove earlier, and the comment can be removed?
Paolo
> /*
> --
> 2.31.1
>
Powered by blists - more mailing lists