Commit f9a6588f authored by Darek Stojaczyk's avatar Darek Stojaczyk
Browse files

nvme: switch to spdk_*malloc().



spdk_dma_*malloc() is about to be deprecated.

Change-Id: I6c308ee546c28c479ceb903bc1749bf5209dc6fe
Signed-off-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/448172


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatar <uma.willpower@gmail.com>
parent a019feec
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -182,7 +182,7 @@ nvme_user_copy_cmd_complete(void *arg, const struct spdk_nvme_cpl *cpl)
			memcpy(req->user_buffer, req->payload.contig_or_cb_arg, req->payload_size);
		}

		spdk_dma_free(req->payload.contig_or_cb_arg);
		spdk_free(req->payload.contig_or_cb_arg);
	}

	/* Call the user's original callback now that the buffer has been copied */
+16 −13
Original line number Diff line number Diff line
@@ -774,12 +774,12 @@ static void
nvme_ctrlr_free_doorbell_buffer(struct spdk_nvme_ctrlr *ctrlr)
{
	if (ctrlr->shadow_doorbell) {
		spdk_dma_free(ctrlr->shadow_doorbell);
		spdk_free(ctrlr->shadow_doorbell);
		ctrlr->shadow_doorbell = NULL;
	}

	if (ctrlr->eventidx) {
		spdk_dma_free(ctrlr->eventidx);
		spdk_free(ctrlr->eventidx);
		ctrlr->eventidx = NULL;
	}
}
@@ -818,8 +818,9 @@ nvme_ctrlr_set_doorbell_buffer_config(struct spdk_nvme_ctrlr *ctrlr)
	}

	/* only 1 page size for doorbell buffer */
	ctrlr->shadow_doorbell = spdk_dma_zmalloc(ctrlr->page_size, ctrlr->page_size,
				 NULL);
	ctrlr->shadow_doorbell = spdk_zmalloc(ctrlr->page_size, ctrlr->page_size,
					      NULL, SPDK_ENV_LCORE_ID_ANY,
					      SPDK_MALLOC_DMA | SPDK_MALLOC_SHARE);
	if (ctrlr->shadow_doorbell == NULL) {
		rc = -ENOMEM;
		goto error;
@@ -832,7 +833,9 @@ nvme_ctrlr_set_doorbell_buffer_config(struct spdk_nvme_ctrlr *ctrlr)
		goto error;
	}

	ctrlr->eventidx = spdk_dma_zmalloc(ctrlr->page_size, ctrlr->page_size, NULL);
	ctrlr->eventidx = spdk_zmalloc(ctrlr->page_size, ctrlr->page_size,
				       NULL, SPDK_ENV_LCORE_ID_ANY,
				       SPDK_MALLOC_DMA | SPDK_MALLOC_SHARE);
	if (ctrlr->eventidx == NULL) {
		rc = -ENOMEM;
		goto error;
@@ -1020,7 +1023,7 @@ nvme_ctrlr_identify_active_ns(struct spdk_nvme_ctrlr *ctrlr)
	uint32_t				*new_ns_list = NULL;

	if (ctrlr->num_ns == 0) {
		spdk_dma_free(ctrlr->active_ns_list);
		spdk_free(ctrlr->active_ns_list);
		ctrlr->active_ns_list = NULL;

		return 0;
@@ -1030,8 +1033,8 @@ nvme_ctrlr_identify_active_ns(struct spdk_nvme_ctrlr *ctrlr)
	 * The allocated size must be a multiple of sizeof(struct spdk_nvme_ns_list)
	 */
	num_pages = (ctrlr->num_ns * sizeof(new_ns_list[0]) - 1) / sizeof(struct spdk_nvme_ns_list) + 1;
	new_ns_list = spdk_dma_zmalloc(num_pages * sizeof(struct spdk_nvme_ns_list), ctrlr->page_size,
				       NULL);
	new_ns_list = spdk_zmalloc(num_pages * sizeof(struct spdk_nvme_ns_list), ctrlr->page_size,
				   NULL, SPDK_ENV_LCORE_ID_ANY, SPDK_MALLOC_DMA | SPDK_MALLOC_SHARE);
	if (!new_ns_list) {
		SPDK_ERRLOG("Failed to allocate active_ns_list!\n");
		return -ENOMEM;
@@ -1077,12 +1080,12 @@ nvme_ctrlr_identify_active_ns(struct spdk_nvme_ctrlr *ctrlr)
	 * Now that that the list is properly setup, we can swap it in to the ctrlr and
	 * free up the previous one.
	 */
	spdk_dma_free(ctrlr->active_ns_list);
	spdk_free(ctrlr->active_ns_list);
	ctrlr->active_ns_list = new_ns_list;

	return 0;
fail:
	spdk_dma_free(new_ns_list);
	spdk_free(new_ns_list);
	return rc;
}

@@ -1494,7 +1497,7 @@ nvme_ctrlr_destruct_namespaces(struct spdk_nvme_ctrlr *ctrlr)
		ctrlr->nsdata = NULL;
	}

	spdk_dma_free(ctrlr->active_ns_list);
	spdk_free(ctrlr->active_ns_list);
	ctrlr->active_ns_list = NULL;
}

@@ -1796,7 +1799,7 @@ nvme_ctrlr_remove_process(struct spdk_nvme_ctrlr *ctrlr,
		spdk_pci_device_detach(proc->devhandle);
	}

	spdk_dma_free(proc);
	spdk_free(proc);
}

/**
@@ -1834,7 +1837,7 @@ nvme_ctrlr_cleanup_process(struct spdk_nvme_ctrlr_process *proc)
		spdk_nvme_ctrlr_free_io_qpair(qpair);
	}

	spdk_dma_free(proc);
	spdk_free(proc);
}

/**
+5 −4
Original line number Diff line number Diff line
@@ -288,7 +288,8 @@ nvme_fabric_qpair_connect(struct spdk_nvme_qpair *qpair, uint32_t num_entries)
		return -EINVAL;
	}

	nvmf_data = spdk_dma_zmalloc(sizeof(*nvmf_data), 0, NULL);
	nvmf_data = spdk_zmalloc(sizeof(*nvmf_data), 0, NULL,
				 SPDK_ENV_LCORE_ID_ANY, SPDK_MALLOC_DMA);
	if (!nvmf_data) {
		SPDK_ERRLOG("nvmf_data allocation error\n");
		return -ENOMEM;
@@ -319,13 +320,13 @@ nvme_fabric_qpair_connect(struct spdk_nvme_qpair *qpair, uint32_t num_entries)
					nvme_completion_poll_cb, &status);
	if (rc < 0) {
		SPDK_ERRLOG("Connect command failed\n");
		spdk_dma_free(nvmf_data);
		spdk_free(nvmf_data);
		return rc;
	}

	if (spdk_nvme_wait_for_completion(qpair, &status)) {
		SPDK_ERRLOG("Connect command failed\n");
		spdk_dma_free(nvmf_data);
		spdk_free(nvmf_data);
		return -EIO;
	}

@@ -335,6 +336,6 @@ nvme_fabric_qpair_connect(struct spdk_nvme_qpair *qpair, uint32_t num_entries)
		SPDK_DEBUGLOG(SPDK_LOG_NVME, "CNTLID 0x%04" PRIx16 "\n", ctrlr->cntlid);
	}

	spdk_dma_free(nvmf_data);
	spdk_free(nvmf_data);
	return 0;
}
+4 −4
Original line number Diff line number Diff line
@@ -527,10 +527,10 @@ nvme_qpair_deinit(struct spdk_nvme_qpair *qpair)

	TAILQ_FOREACH_SAFE(cmd, &qpair->err_cmd_head, link, entry) {
		TAILQ_REMOVE(&qpair->err_cmd_head, cmd, link);
		spdk_dma_free(cmd);
		spdk_free(cmd);
	}

	spdk_dma_free(qpair->req_buf);
	spdk_free(qpair->req_buf);
}

int
@@ -656,7 +656,7 @@ spdk_nvme_qpair_add_cmd_error_injection(struct spdk_nvme_ctrlr *ctrlr,
	}

	if (cmd == NULL) {
		cmd = spdk_dma_zmalloc(sizeof(*cmd), 64, NULL);
		cmd = spdk_zmalloc(sizeof(*cmd), 64, NULL, SPDK_ENV_LCORE_ID_ANY, SPDK_MALLOC_DMA);
		if (!cmd) {
			return -ENOMEM;
		}
@@ -687,7 +687,7 @@ spdk_nvme_qpair_remove_cmd_error_injection(struct spdk_nvme_ctrlr *ctrlr,
	TAILQ_FOREACH_SAFE(cmd, &qpair->err_cmd_head, link, entry) {
		if (cmd->opc == opc) {
			TAILQ_REMOVE(&qpair->err_cmd_head, cmd, link);
			spdk_dma_free(cmd);
			spdk_free(cmd);
			return;
		}
	}