Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Mar 2018 06:18:25 +0100
From:      "O. Hartmann" <ohartmann@walstatt.org>
To:        Warner Losh <imp@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r331238 - head/sys/cam/nvme
Message-ID:  <20180320061825.3c11090f@freyja.zeit4.iv.bundesimmobilien.de>
In-Reply-To: <201803200337.w2K3b9fL028482@repo.freebsd.org>
References:  <201803200337.w2K3b9fL028482@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 20 Mar 2018 03:37:09 +0000 (UTC)
Warner Losh <imp@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-unsubscribe@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180320061825.3c11090f>