@@ -87,17 +87,16 @@ IO Schedulers
8787There are several schedulers implemented by the block layer, each one following
8888a heuristic to improve the IO performance. They are "pluggable" (as in plug
8989and play), in the sense of they can be selected at run time using sysfs. You
90- can read more about Linux's IO schedulers `here
91- <https://www.kernel.org/doc/html/latest/block/index.html> `_. The scheduling
92- happens only between requests in the same queue, so it is not possible to merge
93- requests from different queues, otherwise there would be cache trashing and a
94- need to have a lock for each queue. After the scheduling, the requests are
95- eligible to be sent to the hardware. One of the possible schedulers to be
96- selected is the NONE scheduler, the most straightforward one. It will just
97- place requests on whatever software queue the process is running on, without
98- any reordering. When the device starts processing requests in the hardware
99- queue (a.k.a. run the hardware queue), the software queues mapped to that
100- hardware queue will be drained in sequence according to their mapping.
90+ can read more about Linux's IO schedulers at Documentation/block/index.rst.
91+ The scheduling happens only between requests in the same queue, so it is not
92+ possible to merge requests from different queues, otherwise there would be
93+ cache trashing and a need to have a lock for each queue. After the scheduling,
94+ the requests are eligible to be sent to the hardware. One of the possible
95+ schedulers to be selected is the NONE scheduler, the most straightforward one.
96+ It will just place requests on whatever software queue the process is running
97+ on, without any reordering. When the device starts processing requests in the
98+ hardware queue (a.k.a. run the hardware queue), the software queues mapped to
99+ that hardware queue will be drained in sequence according to their mapping.
101100
102101Hardware dispatch queues
103102~~~~~~~~~~~~~~~~~~~~~~~~
@@ -143,7 +142,7 @@ Further reading
143142
144143- `NOOP scheduler <https://en.wikipedia.org/wiki/Noop_scheduler >`_
145144
146- - ` Null block device driver < https://www.kernel.org/doc/html/latest/ block/null_blk.html >`_
145+ - Documentation/ block/null_blk.rst
147146
148147Source code documentation
149148=========================
0 commit comments