svn commit: r298002 - in head/sys: cam cam/ata cam/scsi conf dev/ahci

Ngie Cooper (yaneurabeya) yaneurabeya at gmail.com
Thu Apr 14 22:02:14 UTC 2016


> On Apr 14, 2016, at 14:47, Warner Losh <imp at freebsd.org> wrote:
> 
> Author: imp
> Date: Thu Apr 14 21:47:58 2016
> New Revision: 298002
> URL: https://svnweb.freebsd.org/changeset/base/298002
> 
> Log:
>  New CAM I/O scheduler for FreeBSD. The default I/O scheduler is the same
>  as before. The common scheduling bits have moved from inline code in
>  each of the CAM periph drivers into a library that implements the
>  default scheduling.
> 
>  In addition, a number of rate-limiting and I/O preference options can
>  be enabled by adding CAM_IOSCHED_NETFLIX to your config file. A number
>  of extra stats are also maintained. CAM_IOSCHED_NETFLIX isn't on by
>  default because it uses a separate BIO_READ and BIO_WRITE queue, so
>  doesn't honor BIO_ORDERED between these two types of operations. We
>  already didn't honor it for BIO_DELETE, and we don't depend on
>  BIO_ORDERED between reads and writes anywhere in the system (it is
>  currently used with BIO_FLUSH in ZFS to make sure some writes are
>  complete before others start and as a poor-man's soft dependency in
>  one place in UFS where we won't be issuing READs until after the
>  operation completes). However, out of an abundance of caution, it
>  isn't enabled by default.
> 
>  Plus, this also brings in NCQ TRIM support for those SSDs that support
>  it. A black list is also provided for known rogues that use NCQ trim
>  as an excuse to corrupt the drive. It was difficult to separate out
>  into a separate commit.
> 
>  This code has run in production at Netflix for over a year now.
> 
>  Sponsored by: Netflix, Inc
>  Differential Revision: https://reviews.freebsd.org/D4609

I left some comments in the CR.
Thanks,
-Ngie


More information about the svn-src-head mailing list