On Tue, 20 Mar 2018 03:37:09 +0000 (UTC) Warner Losh <i...@freebsd.org> wrote:
> 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 = > { > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org" Buildkernel on CURRENT fails with the error shown below sinde this commit: [...] --- nvme_da.o --- /usr/src/sys/cam/nvme/nvme_da.c:221:72: error: too few arguments provided to function-like macro invocation KASSERT(num_ranges * sizeof(struct nvme_dsm_range) < NVME_MAX_DSM_TRIM); ^ /usr/src/sys/sys/systm.h:99:9: note: macro 'KASSERT' defined here #define KASSERT(exp,msg) do { \ ^ /usr/src/sys/cam/nvme/nvme_da.c:221:2: error: use of undeclared identifier 'KASSERT' KASSERT(num_ranges * sizeof(struct nvme_dsm_range) < NVME_MAX_DSM_TRIM); ^ 2 errors generated. *** [nvme_da.o] Error code 1 _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"