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