diff options
| author | Yu Kuai <yukuai3@huawei.com> | 2025-09-10 16:04:42 +0800 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2025-09-10 05:25:56 -0600 |
| commit | 6293e336f6d7d3f3415346ce34993b3398846166 (patch) | |
| tree | b7459e1521b4ab70b9f0f40e9361213f66f92080 /block/elevator.c | |
| parent | e63200404477456ec60c62dd8b3b1092aba2e211 (diff) | |
| download | linux-6293e336f6d7d3f3415346ce34993b3398846166.tar.gz linux-6293e336f6d7d3f3415346ce34993b3398846166.tar.bz2 linux-6293e336f6d7d3f3415346ce34993b3398846166.zip | |
blk-mq-sched: add new parameter nr_requests in blk_mq_alloc_sched_tags()
This helper only support to allocate the default number of requests,
add a new parameter to support specific number of requests.
Prepare to fix potential deadlock in the case nr_requests grow.
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Nilay Shroff <nilay@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/elevator.c')
| -rw-r--r-- | block/elevator.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/block/elevator.c b/block/elevator.c index fe96c6f4753c..e2ebfbf107b3 100644 --- a/block/elevator.c +++ b/block/elevator.c @@ -669,7 +669,8 @@ static int elevator_change(struct request_queue *q, struct elv_change_ctx *ctx) lockdep_assert_held(&set->update_nr_hwq_lock); if (strncmp(ctx->name, "none", 4)) { - ctx->et = blk_mq_alloc_sched_tags(set, set->nr_hw_queues); + ctx->et = blk_mq_alloc_sched_tags(set, set->nr_hw_queues, + blk_mq_default_nr_requests(set)); if (!ctx->et) return -ENOMEM; } |
