lkml.org 
[lkml]   [2021]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH RFC 8/9] block, bfq: move forward __bfq_weights_tree_remove()
From
Date


> Il giorno 27 nov 2021, alle ore 11:11, Yu Kuai <yukuai3@huawei.com> ha scritto:
>
> Prepare to decrease 'num_groups_with_pending_reqs' earlier.
>
> Signed-off-by: Yu Kuai <yukuai3@huawei.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
>

\
 
 \ /
  Last update: 2021-12-10 11:01    [W:0.146 / U:1.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site