svn commit: r248770 - in head/sys/dev: nvd nvme

Jim Harris jimharris at FreeBSD.org
Tue Mar 26 22:11:35 UTC 2013


Author: jimharris
Date: Tue Mar 26 22:11:34 2013
New Revision: 248770
URL: http://svnweb.freebsd.org/changeset/base/248770

Log:
  Change a number of malloc(9) calls to use M_WAITOK instead of
  M_NOWAIT.
  
  Sponsored by:	Intel
  Suggested by:	carl
  Reviewed by:	carl

Modified:
  head/sys/dev/nvd/nvd.c
  head/sys/dev/nvme/nvme_ctrlr.c
  head/sys/dev/nvme/nvme_ns.c
  head/sys/dev/nvme/nvme_qpair.c
  head/sys/dev/nvme/nvme_test.c

Modified: head/sys/dev/nvd/nvd.c
==============================================================================
--- head/sys/dev/nvd/nvd.c	Tue Mar 26 22:09:51 2013	(r248769)
+++ head/sys/dev/nvd/nvd.c	Tue Mar 26 22:11:34 2013	(r248770)
@@ -260,7 +260,7 @@ nvd_new_controller(struct nvme_controlle
 	struct nvd_controller	*nvd_ctrlr;
 
 	nvd_ctrlr = malloc(sizeof(struct nvd_controller), M_NVD,
-	    M_ZERO | M_NOWAIT);
+	    M_ZERO | M_WAITOK);
 
 	TAILQ_INIT(&nvd_ctrlr->disk_head);
 	TAILQ_INSERT_TAIL(&ctrlr_head, nvd_ctrlr, tailq);
@@ -275,7 +275,7 @@ nvd_new_disk(struct nvme_namespace *ns, 
 	struct disk		*disk;
 	struct nvd_controller	*ctrlr = ctrlr_arg;
 
-	ndisk = malloc(sizeof(struct nvd_disk), M_NVD, M_ZERO | M_NOWAIT);
+	ndisk = malloc(sizeof(struct nvd_disk), M_NVD, M_ZERO | M_WAITOK);
 
 	disk = disk_alloc();
 	disk->d_strategy = nvd_strategy;

Modified: head/sys/dev/nvme/nvme_ctrlr.c
==============================================================================
--- head/sys/dev/nvme/nvme_ctrlr.c	Tue Mar 26 22:09:51 2013	(r248769)
+++ head/sys/dev/nvme/nvme_ctrlr.c	Tue Mar 26 22:11:34 2013	(r248770)
@@ -263,10 +263,7 @@ nvme_ctrlr_construct_io_qpairs(struct nv
 		ctrlr->max_xfer_size = NVME_MAX_XFER_SIZE;
 
 	ctrlr->ioq = malloc(ctrlr->num_io_queues * sizeof(struct nvme_qpair),
-	    M_NVME, M_ZERO | M_NOWAIT);
-
-	if (ctrlr->ioq == NULL)
-		return (ENOMEM);
+	    M_NVME, M_ZERO | M_WAITOK);
 
 	for (i = 0; i < ctrlr->num_io_queues; i++) {
 		qpair = &ctrlr->ioq[i];

Modified: head/sys/dev/nvme/nvme_ns.c
==============================================================================
--- head/sys/dev/nvme/nvme_ns.c	Tue Mar 26 22:09:51 2013	(r248769)
+++ head/sys/dev/nvme/nvme_ns.c	Tue Mar 26 22:11:34 2013	(r248770)
@@ -254,7 +254,7 @@ nvme_ns_bio_process(struct nvme_namespac
 		 */
 		dsm_range =
 		    malloc(sizeof(struct nvme_dsm_range), M_NVME,
-		    M_ZERO | M_NOWAIT);
+		    M_ZERO | M_WAITOK);
 		dsm_range->length =
 		    bp->bio_bcount/nvme_ns_get_sector_size(ns);
 		dsm_range->starting_lba =

Modified: head/sys/dev/nvme/nvme_qpair.c
==============================================================================
--- head/sys/dev/nvme/nvme_qpair.c	Tue Mar 26 22:09:51 2013	(r248769)
+++ head/sys/dev/nvme/nvme_qpair.c	Tue Mar 26 22:11:34 2013	(r248770)
@@ -297,12 +297,11 @@ nvme_qpair_construct(struct nvme_qpair *
 	qpair->num_cmds = 0;
 	qpair->num_intr_handler_calls = 0;
 
-	/* TODO: error checking on contigmalloc, bus_dmamap_load calls */
 	qpair->cmd = contigmalloc(qpair->num_entries *
-	    sizeof(struct nvme_command), M_NVME, M_ZERO | M_NOWAIT,
+	    sizeof(struct nvme_command), M_NVME, M_ZERO,
 	    0, BUS_SPACE_MAXADDR, PAGE_SIZE, 0);
 	qpair->cpl = contigmalloc(qpair->num_entries *
-	    sizeof(struct nvme_completion), M_NVME, M_ZERO | M_NOWAIT,
+	    sizeof(struct nvme_completion), M_NVME, M_ZERO,
 	    0, BUS_SPACE_MAXADDR, PAGE_SIZE, 0);
 
 	bus_dmamap_create(qpair->dma_tag, 0, &qpair->cmd_dma_map);
@@ -323,19 +322,13 @@ nvme_qpair_construct(struct nvme_qpair *
 	STAILQ_INIT(&qpair->queued_req);
 
 	for (i = 0; i < qpair->num_trackers; i++) {
-		tr = malloc(sizeof(*tr), M_NVME, M_ZERO | M_NOWAIT);
-
-		if (tr == NULL) {
-			printf("warning: nvme tracker malloc failed\n");
-			break;
-		}
-
+		tr = malloc(sizeof(*tr), M_NVME, M_ZERO | M_WAITOK);
 		nvme_qpair_construct_tracker(qpair, tr, i);
 		TAILQ_INSERT_HEAD(&qpair->free_tr, tr, tailq);
 	}
 
 	qpair->act_tr = malloc(sizeof(struct nvme_tracker *) * qpair->num_entries,
-	    M_NVME, M_ZERO | M_NOWAIT);
+	    M_NVME, M_ZERO | M_WAITOK);
 }
 
 static void

Modified: head/sys/dev/nvme/nvme_test.c
==============================================================================
--- head/sys/dev/nvme/nvme_test.c	Tue Mar 26 22:09:51 2013	(r248769)
+++ head/sys/dev/nvme/nvme_test.c	Tue Mar 26 22:11:34 2013	(r248770)
@@ -96,7 +96,7 @@ nvme_ns_bio_test(void *arg)
 	int				ref;
 #endif
 
-	buf = malloc(io_test->size, M_NVME, M_NOWAIT);
+	buf = malloc(io_test->size, M_NVME, M_WAITOK);
 	idx = atomic_fetchadd_int(&io_test->td_idx, 1);
 	dev = io_test->ns->cdev;
 
@@ -217,11 +217,11 @@ nvme_ns_io_test(void *arg)
 	struct nvme_completion		cpl;
 	int				error;
 
-	tth = malloc(sizeof(*tth), M_NVME, M_NOWAIT | M_ZERO);
+	tth = malloc(sizeof(*tth), M_NVME, M_WAITOK | M_ZERO);
 	tth->ns = io_test->ns;
 	tth->opc = io_test->opc;
 	memcpy(&tth->start, &io_test->start, sizeof(tth->start));
-	tth->buf = malloc(io_test->size, M_NVME, M_NOWAIT);
+	tth->buf = malloc(io_test->size, M_NVME, M_WAITOK);
 	tth->size = io_test->size;
 	tth->time = io_test->time;
 	tth->idx = atomic_fetchadd_int(&io_test->td_idx, 1);
@@ -269,7 +269,7 @@ nvme_ns_test(struct nvme_namespace *ns, 
 		return;
 
 	io_test_internal = malloc(sizeof(*io_test_internal), M_NVME,
-	    M_NOWAIT | M_ZERO);
+	    M_WAITOK | M_ZERO);
 	io_test_internal->opc = io_test->opc;
 	io_test_internal->ns = ns;
 	io_test_internal->td_active = io_test->num_threads;


More information about the svn-src-all mailing list