]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
blk-mq: add documentation for new queue attribute async_dpeth
authorYu Kuai <yukuai@fnnas.com>
Tue, 3 Feb 2026 08:19:49 +0000 (16:19 +0800)
committerJens Axboe <axboe@kernel.dk>
Tue, 3 Feb 2026 14:45:37 +0000 (07:45 -0700)
Explain the attribute and the default value in different case.

Signed-off-by: Yu Kuai <yukuai@fnnas.com>
Reviewed-by: Nilay Shroff <nilay@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Documentation/ABI/stable/sysfs-block

index 0ed10aeff86b86d6cc9389aaa896afb6e2868ca0..aa1e94169666b13ed6e1aae6980188998064a667 100644 (file)
@@ -609,6 +609,40 @@ Description:
                enabled, and whether tags are shared.
 
 
+What:          /sys/block/<disk>/queue/async_depth
+Date:          August 2025
+Contact:       linux-block@vger.kernel.org
+Description:
+               [RW] Controls how many asynchronous requests may be allocated in the
+               block layer. The value is always capped at nr_requests.
+
+               When no elevator is active (none):
+               - async_depth is always equal to nr_requests.
+
+               For bfq scheduler:
+               - By default, async_depth is set to 75% of nr_requests.
+                 Internal limits are then derived from this value:
+                 * Sync writes: limited to async_depth (≈75% of nr_requests).
+                 * Async I/O: limited to ~2/3 of async_depth (≈50% of nr_requests).
+
+                 If a bfq_queue is weight-raised:
+                 * Sync writes: limited to ~1/2 of async_depth (≈37% of nr_requests).
+                 * Async I/O: limited to ~1/4 of async_depth (≈18% of nr_requests).
+
+               - If the user writes a custom value to async_depth, BFQ will recompute
+                 these limits proportionally based on the new value.
+
+               For Kyber:
+               - By default async_depth is set to 75% of nr_requests.
+               - If the user writes a custom value to async_depth, then it override the
+                 default and directly control the limit for writes and async I/O.
+
+               For mq-deadline:
+               - By default async_depth is set to nr_requests.
+               - If the user writes a custom value to async_depth, then it override the
+                 default and directly control the limit for writes and async I/O.
+
+
 What:          /sys/block/<disk>/queue/nr_zones
 Date:          November 2018
 Contact:       Damien Le Moal <damien.lemoal@wdc.com>