Minor edits to the CAM report.

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

View file

@ -2549,37 +2549,36 @@
<p>An enhanced CAM I/O scheduler has been committed to the tree.
By default, this scheduler implements the old behavior.
In addition, an advanced adaptive scheduler is available.
Along with the scheduler, SATA disks can now used Queued Trims
Along with the scheduler, SATA disks can now use Queued Trims
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>In addition to the default scheduler, an advanced, adaptive I/O
scheduler is included. It is disabled by default, but can be enabled
with options CAM_ADAPTIVE_IOSCHED in your kernel config file. This
scheduler lets you favor reads over writes (or vice versa), control
the iops, bandwidth or concurrent operations (read, write, trim), and
lets you select static or dynamic control of these operations. In
<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. Some SSDs exhibit a performance cliff if you write too much data
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
schedulers reduces the allowed write throughput, within limits, to
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
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 communicate how full the I/O queues are to the
upper layers so less urgent I/O can be submitted to the lower
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>