Whitespace-only fixes, translators please ignore.

This commit is contained in:
Warren Block 2016-04-20 14:26:46 +00:00
parent 8262056d71
commit de46c13dc2
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48686

View file

@ -2550,38 +2550,39 @@
By default, this scheduler implements the old behavior.
In addition, an advanced adaptive scheduler is available.
Along with the scheduler, SATA disks can now use Queued Trims
with devices that support them. Details about the new
with devices that support them. Details about the new
scheduler are available in the
<a href="https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf">I/O Scheduling in FreeBSD's CAM Subsystem article (PDF)</a>
or from
<a href="https://www.youtube.com/watch?v=3WqOLolj5EU">the BSDCan 2015 talk</a>.</p>
<p>The adaptive I/O scheduler is disabled by default, but can be enabled
with options CAM_ADAPTIVE_IOSCHED in the kernel config file. This
scheduler allows favoring reads over writes (or vice versa), controlling
the IOPs, bandwidth, or concurrent operations (read, write, trim), and
permits the selection of static or dynamic control of these operations. In
addition, a number of statistics are collected for drive operations
that are published via sysctl. One advanced use for the adaptive I/O
scheduler is to compensate for deficiencies in some consumer-grade
SSDs. These SSDs exhibit a performance cliff if too much data is written
to them too quickly due to internal garbage collection. Without the
I/O scheduler, read and write performance drop substantially once
garbage collection kicks in. The adaptive I/O scheduler can be
configured to monitor read latency. As read latency climbs, the I/O
scheduler reduces the allowed write throughput, within limits, to
attempt to maximize read performance. A simple use of the adaptive I/O
scheduler would be to limit write bandwidth, IOPs or concurrent
operations statically.</p>
<p>The adaptive I/O scheduler is disabled by default, but can be
enabled with options CAM_ADAPTIVE_IOSCHED in the kernel config
file. This scheduler allows favoring reads over writes (or
vice versa), controlling the IOPs, bandwidth, or concurrent
operations (read, write, trim), and permits the selection of
static or dynamic control of these operations. In addition, a
number of statistics are collected for drive operations that
are published via sysctl. One advanced use for the adaptive
I/O scheduler is to compensate for deficiencies in some
consumer-grade SSDs. These SSDs exhibit a performance cliff
if too much data is written to them too quickly due to
internal garbage collection. Without the I/O scheduler, read
and write performance drop substantially once garbage
collection kicks in. The adaptive I/O scheduler can be
configured to monitor read latency. As read latency climbs,
the I/O scheduler reduces the allowed write throughput, within
limits, to attempt to maximize read performance. A simple use
of the adaptive I/O scheduler would be to limit write
bandwidth, IOPs or concurrent operations statically.</p>
<p>Future work on the I/O scheduler will be coupled with
improvements to the upper layers. The upper layers will be
enhanced to communicate how urgent I/O requests are. The I/O
scheduler will inform the upper layers of how full the I/O queues are,
so less urgent I/O can be submitted to the lower
layers as quickly as possible without overwhelming the lower
layers or starving other devices of requests.</p>
improvements to the upper layers. The upper layers will be
enhanced to communicate how urgent I/O requests are. The I/O
scheduler will inform the upper layers of how full the I/O
queues are, so less urgent I/O can be submitted to the lower
layers as quickly as possible without overwhelming the lower
layers or starving other devices of requests.</p>
</body>
<sponsor>Netflix</sponsor>