Minor edits to the CAM report.
This commit is contained in:
parent
b515f8b851
commit
8262056d71
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48685
1 changed files with 11 additions and 12 deletions
|
@ -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>
|
||||
|
||||
|
|
Loading…
Reference in a new issue