Re: [PATCH -next 4/8] block, bfq: don't declare 'bfqd' as type 'void *' in bfq_group

From: Jan Kara
Date: Thu May 19 2022 - 07:02:07 EST


On Sat 14-05-22 17:05:18, Yu Kuai wrote:
> Prevent unnecessary format conversion for bfqg->bfqd in multiple
> places.
>
> Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>

Yeah, this was annoying me as well :) Feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

Honza

> ---
> block/bfq-cgroup.c | 2 +-
> block/bfq-iosched.h | 2 +-
> block/bfq-wf2q.c | 8 +++-----
> 3 files changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c
> index 4d516879d9fa..b4e39ab4ad17 100644
> --- a/block/bfq-cgroup.c
> +++ b/block/bfq-cgroup.c
> @@ -224,7 +224,7 @@ void bfqg_stats_update_io_add(struct bfq_group *bfqg, struct bfq_queue *bfqq,
> {
> blkg_rwstat_add(&bfqg->stats.queued, op, 1);
> bfqg_stats_end_empty_time(&bfqg->stats);
> - if (!(bfqq == ((struct bfq_data *)bfqg->bfqd)->in_service_queue))
> + if (!(bfqq == bfqg->bfqd->in_service_queue))
> bfqg_stats_set_start_group_wait_time(bfqg, bfqq_group(bfqq));
> }
>
> diff --git a/block/bfq-iosched.h b/block/bfq-iosched.h
> index bc54b9824b1e..d57e4848f57f 100644
> --- a/block/bfq-iosched.h
> +++ b/block/bfq-iosched.h
> @@ -894,7 +894,7 @@ struct bfq_group {
> struct bfq_entity entity;
> struct bfq_sched_data sched_data;
>
> - void *bfqd;
> + struct bfq_data *bfqd;
>
> struct bfq_queue *async_bfqq[2][IOPRIO_NR_LEVELS];
> struct bfq_queue *async_idle_bfqq;
> diff --git a/block/bfq-wf2q.c b/block/bfq-wf2q.c
> index c58568a4b009..15b97687493a 100644
> --- a/block/bfq-wf2q.c
> +++ b/block/bfq-wf2q.c
> @@ -234,9 +234,8 @@ static void bfq_inc_active_entities(struct bfq_entity *entity)
> {
> struct bfq_sched_data *sd = entity->sched_data;
> struct bfq_group *bfqg = container_of(sd, struct bfq_group, sched_data);
> - struct bfq_data *bfqd = (struct bfq_data *)bfqg->bfqd;
>
> - if (bfqg != bfqd->root_group)
> + if (bfqg != bfqg->bfqd->root_group)
> bfqg->active_entities++;
> }
>
> @@ -244,9 +243,8 @@ static void bfq_dec_active_entities(struct bfq_entity *entity)
> {
> struct bfq_sched_data *sd = entity->sched_data;
> struct bfq_group *bfqg = container_of(sd, struct bfq_group, sched_data);
> - struct bfq_data *bfqd = (struct bfq_data *)bfqg->bfqd;
>
> - if (bfqg != bfqd->root_group)
> + if (bfqg != bfqg->bfqd->root_group)
> bfqg->active_entities--;
> }
>
> @@ -741,7 +739,7 @@ __bfq_entity_update_weight_prio(struct bfq_service_tree *old_st,
> else {
> sd = entity->my_sched_data;
> bfqg = container_of(sd, struct bfq_group, sched_data);
> - bfqd = (struct bfq_data *)bfqg->bfqd;
> + bfqd = bfqg->bfqd;
> }
> #endif
>
> --
> 2.31.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR