Re: [PATCH for-6.12 4/4] block, bfq: use bfq_reassign_last_bfqq() in bfq_bfqq_move()
From: Jan Kara
Date: Wed Sep 04 2024 - 08:22:31 EST
On Mon 02-09-24 21:03:29, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@xxxxxxxxxx>
>
> Instead of open coding it, there are no functional changes.
>
> Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@xxxxxxx>
Honza
> ---
> block/bfq-cgroup.c | 7 +------
> block/bfq-iosched.c | 4 ++--
> block/bfq-iosched.h | 2 ++
> 3 files changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c
> index b758693697c0..9fb9f3533150 100644
> --- a/block/bfq-cgroup.c
> +++ b/block/bfq-cgroup.c
> @@ -679,12 +679,7 @@ void bfq_bfqq_move(struct bfq_data *bfqd, struct bfq_queue *bfqq,
> bfq_put_idle_entity(bfq_entity_service_tree(entity), entity);
> bfqg_and_blkg_put(old_parent);
>
> - if (entity->parent &&
> - entity->parent->last_bfqq_created == bfqq)
> - entity->parent->last_bfqq_created = NULL;
> - else if (bfqd->last_bfqq_created == bfqq)
> - bfqd->last_bfqq_created = NULL;
> -
> + bfq_reassign_last_bfqq(bfqq, NULL);
> entity->parent = bfqg->my_entity;
> entity->sched_data = &bfqg->sched_data;
> /* pin down bfqg and its associated blkg */
> diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
> index ca766b7d5560..d1bf2b8a3576 100644
> --- a/block/bfq-iosched.c
> +++ b/block/bfq-iosched.c
> @@ -3097,8 +3097,8 @@ static void bfq_bfqq_save_state(struct bfq_queue *bfqq)
> }
>
>
> -static void
> -bfq_reassign_last_bfqq(struct bfq_queue *cur_bfqq, struct bfq_queue *new_bfqq)
> +void bfq_reassign_last_bfqq(struct bfq_queue *cur_bfqq,
> + struct bfq_queue *new_bfqq)
> {
> if (cur_bfqq->entity.parent &&
> cur_bfqq->entity.parent->last_bfqq_created == cur_bfqq)
> diff --git a/block/bfq-iosched.h b/block/bfq-iosched.h
> index 08ddf2cfae5b..e16d96e2367b 100644
> --- a/block/bfq-iosched.h
> +++ b/block/bfq-iosched.h
> @@ -1156,6 +1156,8 @@ void bfq_del_bfqq_busy(struct bfq_queue *bfqq, bool expiration);
> void bfq_add_bfqq_busy(struct bfq_queue *bfqq);
> void bfq_add_bfqq_in_groups_with_pending_reqs(struct bfq_queue *bfqq);
> void bfq_del_bfqq_in_groups_with_pending_reqs(struct bfq_queue *bfqq);
> +void bfq_reassign_last_bfqq(struct bfq_queue *cur_bfqq,
> + struct bfq_queue *new_bfqq);
>
> /* --------------- end of interface of B-WF2Q+ ---------------- */
>
> --
> 2.39.2
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR