Commit 04c56957 authored by André Almeida's avatar André Almeida Committed by Jens Axboe

docs: block: null_blk: enhance document style

Use proper ReST syntax for chapters. Add more information to enhance
standardization in the file and to make the rendering more homogeneous.
Add a SPDX identifier. Mark single-queue mode as deprecated.
Signed-off-by: default avatarAndré Almeida <andrealmeid@collabora.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 7c1ee704
.. SPDX-License-Identifier: GPL-2.0
======================== ========================
Null block device driver Null block device driver
======================== ========================
1. Overview Overview
=========== ========
The null block device (/dev/nullb*) is used for benchmarking the various The null block device (``/dev/nullb*``) is used for benchmarking the various
block-layer implementations. It emulates a block device of X gigabytes in size. block-layer implementations. It emulates a block device of X gigabytes in size.
The following instances are possible: It does not execute any read/write operation, just mark them as complete in
the request queue. The following instances are possible:
Single-queue block-layer
- Request-based.
- Single submission queue per device.
- Implements IO scheduling algorithms (CFQ, Deadline, noop).
Multi-queue block-layer Multi-queue block-layer
...@@ -27,15 +24,15 @@ The following instances are possible: ...@@ -27,15 +24,15 @@ The following instances are possible:
All of them have a completion queue for each core in the system. All of them have a completion queue for each core in the system.
2. Module parameters applicable for all instances Module parameters
================================================= =================
queue_mode=[0-2]: Default: 2-Multi-queue queue_mode=[0-2]: Default: 2-Multi-queue
Selects which block-layer the module should instantiate with. Selects which block-layer the module should instantiate with.
= ============ = ============
0 Bio-based 0 Bio-based
1 Single-queue 1 Single-queue (deprecated)
2 Multi-queue 2 Multi-queue
= ============ = ============
...@@ -67,7 +64,7 @@ irqmode=[0-2]: Default: 1-Soft-irq ...@@ -67,7 +64,7 @@ irqmode=[0-2]: Default: 1-Soft-irq
completion_nsec=[ns]: Default: 10,000ns completion_nsec=[ns]: Default: 10,000ns
Combined with irqmode=2 (timer). The time each completion event must wait. Combined with irqmode=2 (timer). The time each completion event must wait.
submit_queues=[1..nr_cpus]: submit_queues=[1..nr_cpus]: Default: 1
The number of submission queues attached to the device driver. If unset, it The number of submission queues attached to the device driver. If unset, it
defaults to 1. For multi-queue, it is ignored when use_per_node_hctx module defaults to 1. For multi-queue, it is ignored when use_per_node_hctx module
parameter is 1. parameter is 1.
...@@ -75,9 +72,11 @@ submit_queues=[1..nr_cpus]: ...@@ -75,9 +72,11 @@ submit_queues=[1..nr_cpus]:
hw_queue_depth=[0..qdepth]: Default: 64 hw_queue_depth=[0..qdepth]: Default: 64
The hardware queue depth of the device. The hardware queue depth of the device.
III: Multi-queue specific parameters Multi-queue specific parameters
-------------------------------
use_per_node_hctx=[0/1]: Default: 0 use_per_node_hctx=[0/1]: Default: 0
Number of hardware context queues.
= ===================================================================== = =====================================================================
0 The number of submit queues are set to the value of the submit_queues 0 The number of submit queues are set to the value of the submit_queues
...@@ -87,6 +86,7 @@ use_per_node_hctx=[0/1]: Default: 0 ...@@ -87,6 +86,7 @@ use_per_node_hctx=[0/1]: Default: 0
= ===================================================================== = =====================================================================
no_sched=[0/1]: Default: 0 no_sched=[0/1]: Default: 0
Enable/disable the io scheduler.
= ====================================== = ======================================
0 nullb* use default blk-mq io scheduler 0 nullb* use default blk-mq io scheduler
...@@ -94,6 +94,7 @@ no_sched=[0/1]: Default: 0 ...@@ -94,6 +94,7 @@ no_sched=[0/1]: Default: 0
= ====================================== = ======================================
blocking=[0/1]: Default: 0 blocking=[0/1]: Default: 0
Blocking behavior of the request queue.
= =============================================================== = ===============================================================
0 Register as a non-blocking blk-mq driver device. 0 Register as a non-blocking blk-mq driver device.
...@@ -103,6 +104,7 @@ blocking=[0/1]: Default: 0 ...@@ -103,6 +104,7 @@ blocking=[0/1]: Default: 0
= =============================================================== = ===============================================================
shared_tags=[0/1]: Default: 0 shared_tags=[0/1]: Default: 0
Sharing tags between devices.
= ================================================================ = ================================================================
0 Tag set is not shared. 0 Tag set is not shared.
...@@ -111,6 +113,7 @@ shared_tags=[0/1]: Default: 0 ...@@ -111,6 +113,7 @@ shared_tags=[0/1]: Default: 0
= ================================================================ = ================================================================
zoned=[0/1]: Default: 0 zoned=[0/1]: Default: 0
Device is a random-access or a zoned block device.
= ====================================================================== = ======================================================================
0 Block device is exposed as a random-access block device. 0 Block device is exposed as a random-access block device.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment