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

John Garry
2021-07-20T08:08:52Z

On 20/07/2021 08:57, Ming Lei wrote:
>> 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?

Right, this function is a bit odd. Maybe I can just have a size argument
for consistency with blk_mq_tag_resize_shared_sbitmap().

Thanks,
John