From owner-svn-doc-all@freebsd.org Wed Apr 20 14:26:48 2016
Return-Path:
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.
+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.
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.
- + 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.