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

O. Hartmann ohartmann at walstatt.org
Tue Mar 20 05:23:51 UTC 2018


On Tue, 20 Mar 2018 03:37:09 +0000 (UTC)
Warner Losh <imp at 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 at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-head
> To unsubscribe, send any mail to "svn-src-head-unsubscribe at 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


More information about the svn-src-all mailing list