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