svn commit: r285767 - head/sys/dev/nvd
Jim Harris
jimharris at FreeBSD.org
Tue Jul 21 20:53:22 UTC 2015
Author: jimharris
Date: Tue Jul 21 20:53:21 2015
New Revision: 285767
URL: https://svnweb.freebsd.org/changeset/base/285767
Log:
nvd: set d_delmaxsize to full capacity of NVMe namespace
The NVMe specification has no ability to specify a maximum delete size
that is less than the full capacity of the namespace - so just using the
namespace size is the correct value here.
This fixes reported issues where ZFS trim on init looked like it was
hanging the system - previously the default I/O max size (128KB on
Intel NVMe controllers) was used for delete operations which worked out
to only about 8MB/s. With this patch I can add an 800GB DC P3700
drive to a ZFS pool in about 15-20 seconds.
Reported by: Dylan Just <dylan at techtangents.com>
MFC after: 3 days
Sponsored by: Intel
Modified:
head/sys/dev/nvd/nvd.c
Modified: head/sys/dev/nvd/nvd.c
==============================================================================
--- head/sys/dev/nvd/nvd.c Tue Jul 21 20:33:36 2015 (r285766)
+++ head/sys/dev/nvd/nvd.c Tue Jul 21 20:53:21 2015 (r285767)
@@ -278,6 +278,7 @@ nvd_new_disk(struct nvme_namespace *ns,
disk->d_maxsize = nvme_ns_get_max_io_xfer_size(ns);
disk->d_sectorsize = nvme_ns_get_sector_size(ns);
disk->d_mediasize = (off_t)nvme_ns_get_size(ns);
+ disk->d_delmaxsize = (off_t)nvme_ns_get_size(ns);
if (TAILQ_EMPTY(&disk_head))
disk->d_unit = 0;
More information about the svn-src-all
mailing list