Hi,
在 2024/12/18 6:13, Bart Van Assche 写道:
On 12/16/24 6:40 PM, Yu Kuai wrote:
+static unsigned int min_async_depth = 64;
+module_param(min_async_depth, int, 0444);
+MODULE_PARM_DESC(min_async_depth, "The minimal number of tags
available for asynchronous requests");
Users may not like it that this parameter is read-only.
@@ -513,9 +523,12 @@ static void dd_depth_updated(struct blk_mq_hw_ctx
*hctx)
struct deadline_data *dd = q->elevator->elevator_data;
struct blk_mq_tags *tags = hctx->sched_tags;
- dd->async_depth = max(1UL, 3 * q->nr_requests / 4);
Shouldn't this assignment be retained instead of removing it?
Additionally, some time ago a user requested to initialize
dd->async_depth to q->nr_requests instead of 3/4 of that value because
the lower value introduced a performance regression.
dd->async_depth is initialized to 0 now, functionally I think
it's the same as q->nr_requests. And I do explain this in commit
message, maybe it's not clear?
BTW, if user sets new nr_requests and async_depth < new nr_requests,
async_depth won't be reset after this patch.
Thanks,
Kuai
Thanks,
Bart.
.