From owner-svn-doc-head@freebsd.org Wed Apr 20 14:23:56 2016 Return-Path: Delivered-To: svn-doc-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CB941B16741; Wed, 20 Apr 2016 14:23:56 +0000 (UTC) (envelope-from wblock@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A348F1B0F; Wed, 20 Apr 2016 14:23:56 +0000 (UTC) (envelope-from wblock@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3KENtQW064565; Wed, 20 Apr 2016 14:23:55 GMT (envelope-from wblock@FreeBSD.org) Received: (from wblock@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3KENtgS064564; Wed, 20 Apr 2016 14:23:55 GMT (envelope-from wblock@FreeBSD.org) Message-Id: <201604201423.u3KENtgS064564@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wblock set sender to wblock@FreeBSD.org using -f From: Warren Block Date: Wed, 20 Apr 2016 14:23:55 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r48685 - head/en_US.ISO8859-1/htdocs/news/status X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Apr 2016 14:23:56 -0000 Author: wblock Date: Wed Apr 20 14:23:55 2016 New Revision: 48685 URL: https://svnweb.freebsd.org/changeset/doc/48685 Log: Minor edits to the CAM report. Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml ============================================================================== --- head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml Wed Apr 20 13:25:07 2016 (r48684) +++ head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml Wed Apr 20 14:23:55 2016 (r48685) @@ -2549,37 +2549,36 @@

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 I/O Scheduling in FreeBSD's CAM Subsystem article (PDF) or from the BSDCan 2015 talk.

-

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 +

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.

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.