Re: [PATCH v2 06/11] blk-mq: Pass driver tags to blk_mq_clear_rq_mapping()

John Garry
2021-08-18T12:00:19Z

>>
>> @@ -2346,8 +2345,11 @@ static void blk_mq_clear_rq_mapping(struct blk_mq_tag_set *set,
>> void blk_mq_free_rqs(struct blk_mq_tag_set *set, struct blk_mq_tags *tags,
>> unsigned int hctx_idx)
>> {
>> + struct blk_mq_tags *drv_tags;
>> struct page *page;
>>
>> + drv_tags = set->tags[hctx_idx];
>

Hi Ming,

> Indent.

That's intentional, as we have from later patch:

void blk_mq_free_rqs(struct blk_mq_tag_set *set, struct blk_mq_tags
*tags, unsigned int hctx_idx)
{
struct blk_mq_tags *drv_tags;
struct page *page;

+ if (blk_mq_is_sbitmap_shared(set->flags))
+ drv_tags = set->shared_sbitmap_tags;
+ else
drv_tags = set->tags[hctx_idx];

...

blk_mq_clear_rq_mapping(drv_tags, tags);

}

And it's just nice to not re-indent later.

>
>> +
>> if (tags->static_rqs && set->ops->exit_request) {
>> int i;
>>
>> @@ -2361,7 +2363,7 @@ void blk_mq_free_rqs(struct blk_mq_tag_set *set, struct blk_mq_tags *tags,
>> }
>> }
>>
>> - blk_mq_clear_rq_mapping(set, tags, hctx_idx);
>> + blk_mq_clear_rq_mapping(drv_tags, tags);
>
> Maybe you can pass set->tags[hctx_idx] directly since there is only one
> reference on it.
>

Again, intentional for similar reason, as above.

Thanks,
John