Re: [PATCH 4/9] blk-mq: Add blk_mq_tag_resize_sched_shared_sbitmap()

Ming Lei
2021-07-20T07:58:37Z

On Wed, Jul 14, 2021 at 11:06:30PM +0800, John Garry wrote:
> Put the functionality to resize the sched shared sbitmap in a common
> function.
>
> Since the same formula is always used to resize, and it can be got from
> the request queue argument, so just pass the request queue pointer.
>
> Signed-off-by: John Garry <john.garry@huawei.com>
> ---
> block/blk-mq-sched.c | 3 +--
> block/blk-mq-tag.c | 10 ++++++++++
> block/blk-mq-tag.h | 1 +
> block/blk-mq.c | 3 +--
> 4 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c
> index f5cb2931c20d..1e028183557d 100644
> --- a/block/blk-mq-sched.c
> +++ b/block/blk-mq-sched.c
> @@ -584,8 +584,7 @@ static int blk_mq_init_sched_shared_sbitmap(struct request_queue *queue)
> &queue->sched_breserved_tags;
> }
>
> - sbitmap_queue_resize(&queue->sched_bitmap_tags,
> - queue->nr_requests - set->reserved_tags);
> + blk_mq_tag_resize_sched_shared_sbitmap(queue);
>
> return 0;
> }
> diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c
> index 86f87346232a..55c7f1bf41c7 100644
> --- a/block/blk-mq-tag.c
> +++ b/block/blk-mq-tag.c
> @@ -634,6 +634,16 @@ void blk_mq_tag_resize_shared_sbitmap(struct blk_mq_tag_set *set, unsigned int s
> sbitmap_queue_resize(&set->__bitmap_tags, size - set->reserved_tags);
> }
>
> +/*
> + * We always resize with q->nr_requests - q->tag_set->reserved_tags, so
> + * don't bother passing a size.
> + */
> +void blk_mq_tag_resize_sched_shared_sbitmap(struct request_queue *q)
> +{
> + sbitmap_queue_resize(&q->sched_bitmap_tags,
> + q->nr_requests - q->tag_set->reserved_tags);
> +}

It is a bit hard to follow the resize part of the name, since no size
parameter passed in. Maybe update is better?

--
Ming