struct elevator_tags *blk_mq_alloc_sched_tags(struct blk_mq_tag_set *set,It looks more readable to add helper blk_mq_default_nr_requests(),
- unsigned int nr_hw_queues)
+ unsigned int nr_hw_queues, unsigned int nr_requests)
{
unsigned int nr_tags;
int i;
@@ -475,8 +475,11 @@ struct elevator_tags *blk_mq_alloc_sched_tags(struct blk_mq_tag_set *set,
* 128, since we don't split into sync/async like the old code
* did. Additionally, this is a per-hw queue depth.
*/
- et->nr_requests = 2 * min_t(unsigned int, set->queue_depth,
- BLKDEV_DEFAULT_RQ);
+ if (nr_requests)
+ et->nr_requests = nr_requests;
+ else
+ et->nr_requests = 2 * min_t(unsigned int, set->queue_depth,
+ BLKDEV_DEFAULT_RQ);
and pass it from call sites directly, then people won't be confused
with the passed zero `nr_requests`.