svn commit: r331238 - head/sys/cam/nvme

Warner Losh imp at FreeBSD.org
Tue Mar 20 03:37:12 UTC 2018


Author: imp
Date: Tue Mar 20 03:37:09 2018
New Revision: 331238
URL: https://svnweb.freebsd.org/changeset/base/331238

Log:
  Make kern.cam.nda.num_trim tunable to limit the number of BIO_DELETE
  requests that we'll collapse into one DSM_TRIM. By default it is a
  256, which is the max that will fit into a 4k page.
  
  Sponsored by: Netflix

Modified:
  head/sys/cam/nvme/nvme_da.c

Modified: head/sys/cam/nvme/nvme_da.c
==============================================================================
--- head/sys/cam/nvme/nvme_da.c	Tue Mar 20 03:37:04 2018	(r331237)
+++ head/sys/cam/nvme/nvme_da.c	Tue Mar 20 03:37:09 2018	(r331238)
@@ -167,19 +167,22 @@ static void		ndasuspend(void *arg);
 #define NDA_MAX_TRIM_ENTRIES 256	/* Number of DSM trims to use, max 256 */
 #endif
 
+static SYSCTL_NODE(_kern_cam, OID_AUTO, nda, CTLFLAG_RD, 0,
+            "CAM Direct Access Disk driver");
+
 //static int nda_retry_count = NDA_DEFAULT_RETRY;
 static int nda_send_ordered = NDA_DEFAULT_SEND_ORDERED;
 static int nda_default_timeout = NDA_DEFAULT_TIMEOUT;
 static int nda_max_trim_entries = NDA_MAX_TRIM_ENTRIES;
+SYSCTL_INT(_kern_cam_nda, OID_AUTO, max_trim, CTLFLAG_RDTUN,
+    &nda_max_trim_entries, NDA_MAX_TRIM_ENTRIES,
+    "Maximum number of BIO_DELETE to send down as a DSM TRIM.");
 
 /*
  * All NVMe media is non-rotational, so all nvme device instances
  * share this to implement the sysctl.
  */
 static int nda_rotating_media = 0;
-
-static SYSCTL_NODE(_kern_cam, OID_AUTO, nda, CTLFLAG_RD, 0,
-            "CAM Direct Access Disk driver");
 
 static struct periph_driver ndadriver =
 {


More information about the svn-src-head mailing list