nvme:replacing spdk_dma_malloc with spdk_z/malloc
Change-Id: I755d36495e7d8e55c26c4103a9520102223798ef Signed-off-by: zkhatami88 <z.khatami88@gmail.com> Reviewed-on: https://review.gerrithub.io/409960 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
parent
4c8a350d02
commit
eb6a2cb8f5
@ -109,7 +109,7 @@ read_complete(void *arg, const struct spdk_nvme_cpl *completion)
|
|||||||
* to exit its polling loop.
|
* to exit its polling loop.
|
||||||
*/
|
*/
|
||||||
printf("%s", sequence->buf);
|
printf("%s", sequence->buf);
|
||||||
spdk_dma_free(sequence->buf);
|
spdk_free(sequence->buf);
|
||||||
sequence->is_completed = 1;
|
sequence->is_completed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,9 +128,9 @@ write_complete(void *arg, const struct spdk_nvme_cpl *completion)
|
|||||||
if (sequence->using_cmb_io) {
|
if (sequence->using_cmb_io) {
|
||||||
spdk_nvme_ctrlr_free_cmb_io_buffer(ns_entry->ctrlr, sequence->buf, 0x1000);
|
spdk_nvme_ctrlr_free_cmb_io_buffer(ns_entry->ctrlr, sequence->buf, 0x1000);
|
||||||
} else {
|
} else {
|
||||||
spdk_dma_free(sequence->buf);
|
spdk_free(sequence->buf);
|
||||||
}
|
}
|
||||||
sequence->buf = spdk_dma_zmalloc(0x1000, 0x1000, NULL);
|
sequence->buf = spdk_zmalloc(0x1000, 0x1000, NULL, SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_DMA);
|
||||||
|
|
||||||
rc = spdk_nvme_ns_cmd_read(ns_entry->ns, ns_entry->qpair, sequence->buf,
|
rc = spdk_nvme_ns_cmd_read(ns_entry->ns, ns_entry->qpair, sequence->buf,
|
||||||
0, /* LBA start */
|
0, /* LBA start */
|
||||||
@ -178,7 +178,7 @@ hello_world(void)
|
|||||||
sequence.buf = spdk_nvme_ctrlr_alloc_cmb_io_buffer(ns_entry->ctrlr, 0x1000);
|
sequence.buf = spdk_nvme_ctrlr_alloc_cmb_io_buffer(ns_entry->ctrlr, 0x1000);
|
||||||
if (sequence.buf == NULL) {
|
if (sequence.buf == NULL) {
|
||||||
sequence.using_cmb_io = 0;
|
sequence.using_cmb_io = 0;
|
||||||
sequence.buf = spdk_dma_zmalloc(0x1000, 0x1000, NULL);
|
sequence.buf = spdk_zmalloc(0x1000, 0x1000, NULL, SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_DMA);
|
||||||
}
|
}
|
||||||
if (sequence.buf == NULL) {
|
if (sequence.buf == NULL) {
|
||||||
printf("ERROR: write buffer allocation failed\n");
|
printf("ERROR: write buffer allocation failed\n");
|
||||||
|
@ -181,7 +181,8 @@ nvme_allocate_request_user_copy(struct spdk_nvme_qpair *qpair,
|
|||||||
uint64_t phys_addr;
|
uint64_t phys_addr;
|
||||||
|
|
||||||
if (buffer && payload_size) {
|
if (buffer && payload_size) {
|
||||||
dma_buffer = spdk_dma_zmalloc(payload_size, 4096, &phys_addr);
|
dma_buffer = spdk_zmalloc(payload_size, 4096, &phys_addr,
|
||||||
|
SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_DMA);
|
||||||
if (!dma_buffer) {
|
if (!dma_buffer) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -194,7 +195,7 @@ nvme_allocate_request_user_copy(struct spdk_nvme_qpair *qpair,
|
|||||||
req = nvme_allocate_request_contig(qpair, dma_buffer, payload_size, nvme_user_copy_cmd_complete,
|
req = nvme_allocate_request_contig(qpair, dma_buffer, payload_size, nvme_user_copy_cmd_complete,
|
||||||
NULL);
|
NULL);
|
||||||
if (!req) {
|
if (!req) {
|
||||||
spdk_dma_free(dma_buffer);
|
spdk_free(dma_buffer);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -370,8 +370,8 @@ static int nvme_ctrlr_set_intel_support_log_pages(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
struct nvme_completion_poll_status status;
|
struct nvme_completion_poll_status status;
|
||||||
struct spdk_nvme_intel_log_page_directory *log_page_directory;
|
struct spdk_nvme_intel_log_page_directory *log_page_directory;
|
||||||
|
|
||||||
log_page_directory = spdk_dma_zmalloc(sizeof(struct spdk_nvme_intel_log_page_directory),
|
log_page_directory = spdk_zmalloc(sizeof(struct spdk_nvme_intel_log_page_directory),
|
||||||
64, &phys_addr);
|
64, &phys_addr, SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_DMA);
|
||||||
if (log_page_directory == NULL) {
|
if (log_page_directory == NULL) {
|
||||||
SPDK_ERRLOG("could not allocate log_page_directory\n");
|
SPDK_ERRLOG("could not allocate log_page_directory\n");
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
@ -382,13 +382,13 @@ static int nvme_ctrlr_set_intel_support_log_pages(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
nvme_completion_poll_cb,
|
nvme_completion_poll_cb,
|
||||||
&status);
|
&status);
|
||||||
if (spdk_nvme_wait_for_completion(ctrlr->adminq, &status)) {
|
if (spdk_nvme_wait_for_completion(ctrlr->adminq, &status)) {
|
||||||
spdk_dma_free(log_page_directory);
|
spdk_free(log_page_directory);
|
||||||
SPDK_ERRLOG("nvme_ctrlr_cmd_get_log_page failed!\n");
|
SPDK_ERRLOG("nvme_ctrlr_cmd_get_log_page failed!\n");
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
nvme_ctrlr_construct_intel_support_log_page_list(ctrlr, log_page_directory);
|
nvme_ctrlr_construct_intel_support_log_page_list(ctrlr, log_page_directory);
|
||||||
spdk_dma_free(log_page_directory);
|
spdk_free(log_page_directory);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1064,13 +1064,13 @@ nvme_ctrlr_destruct_namespaces(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
nvme_ns_destruct(&ctrlr->ns[i]);
|
nvme_ns_destruct(&ctrlr->ns[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
spdk_dma_free(ctrlr->ns);
|
spdk_free(ctrlr->ns);
|
||||||
ctrlr->ns = NULL;
|
ctrlr->ns = NULL;
|
||||||
ctrlr->num_ns = 0;
|
ctrlr->num_ns = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctrlr->nsdata) {
|
if (ctrlr->nsdata) {
|
||||||
spdk_dma_free(ctrlr->nsdata);
|
spdk_free(ctrlr->nsdata);
|
||||||
ctrlr->nsdata = NULL;
|
ctrlr->nsdata = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1124,14 +1124,14 @@ nvme_ctrlr_construct_namespaces(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctrlr->ns = spdk_dma_zmalloc(nn * sizeof(struct spdk_nvme_ns), 64,
|
ctrlr->ns = spdk_zmalloc(nn * sizeof(struct spdk_nvme_ns), 64,
|
||||||
&phys_addr);
|
&phys_addr, SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_SHARE);
|
||||||
if (ctrlr->ns == NULL) {
|
if (ctrlr->ns == NULL) {
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctrlr->nsdata = spdk_dma_zmalloc(nn * sizeof(struct spdk_nvme_ns_data), 64,
|
ctrlr->nsdata = spdk_zmalloc(nn * sizeof(struct spdk_nvme_ns_data), 64,
|
||||||
&phys_addr);
|
&phys_addr, SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_SHARE | SPDK_MALLOC_DMA);
|
||||||
if (ctrlr->nsdata == NULL) {
|
if (ctrlr->nsdata == NULL) {
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
@ -1311,7 +1311,8 @@ nvme_ctrlr_add_process(struct spdk_nvme_ctrlr *ctrlr, void *devhandle)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize the per process properties for this ctrlr */
|
/* Initialize the per process properties for this ctrlr */
|
||||||
ctrlr_proc = spdk_dma_zmalloc(sizeof(struct spdk_nvme_ctrlr_process), 64, NULL);
|
ctrlr_proc = spdk_zmalloc(sizeof(struct spdk_nvme_ctrlr_process),
|
||||||
|
64, NULL, SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_SHARE);
|
||||||
if (ctrlr_proc == NULL) {
|
if (ctrlr_proc == NULL) {
|
||||||
SPDK_ERRLOG("failed to allocate memory to track the process props\n");
|
SPDK_ERRLOG("failed to allocate memory to track the process props\n");
|
||||||
|
|
||||||
@ -1405,7 +1406,7 @@ nvme_ctrlr_free_processes(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
|
|
||||||
assert(STAILQ_EMPTY(&active_proc->active_reqs));
|
assert(STAILQ_EMPTY(&active_proc->active_reqs));
|
||||||
|
|
||||||
spdk_dma_free(active_proc);
|
spdk_free(active_proc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -668,7 +668,7 @@ nvme_pcie_ctrlr_construct_admin_qpair(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
struct nvme_pcie_qpair *pqpair;
|
struct nvme_pcie_qpair *pqpair;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
pqpair = spdk_dma_zmalloc(sizeof(*pqpair), 64, NULL);
|
pqpair = spdk_zmalloc(sizeof(*pqpair), 64, NULL, SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_SHARE);
|
||||||
if (pqpair == NULL) {
|
if (pqpair == NULL) {
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
@ -794,7 +794,8 @@ struct spdk_nvme_ctrlr *nvme_pcie_ctrlr_construct(const struct spdk_nvme_transpo
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
pctrlr = spdk_dma_zmalloc(sizeof(struct nvme_pcie_ctrlr), 64, NULL);
|
pctrlr = spdk_zmalloc(sizeof(struct nvme_pcie_ctrlr), 64, NULL,
|
||||||
|
SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_SHARE);
|
||||||
if (pctrlr == NULL) {
|
if (pctrlr == NULL) {
|
||||||
close(claim_fd);
|
close(claim_fd);
|
||||||
SPDK_ERRLOG("could not allocate ctrlr\n");
|
SPDK_ERRLOG("could not allocate ctrlr\n");
|
||||||
@ -812,7 +813,7 @@ struct spdk_nvme_ctrlr *nvme_pcie_ctrlr_construct(const struct spdk_nvme_transpo
|
|||||||
rc = nvme_pcie_ctrlr_allocate_bars(pctrlr);
|
rc = nvme_pcie_ctrlr_allocate_bars(pctrlr);
|
||||||
if (rc != 0) {
|
if (rc != 0) {
|
||||||
close(claim_fd);
|
close(claim_fd);
|
||||||
spdk_dma_free(pctrlr);
|
spdk_free(pctrlr);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -824,14 +825,14 @@ struct spdk_nvme_ctrlr *nvme_pcie_ctrlr_construct(const struct spdk_nvme_transpo
|
|||||||
if (nvme_ctrlr_get_cap(&pctrlr->ctrlr, &cap)) {
|
if (nvme_ctrlr_get_cap(&pctrlr->ctrlr, &cap)) {
|
||||||
SPDK_ERRLOG("get_cap() failed\n");
|
SPDK_ERRLOG("get_cap() failed\n");
|
||||||
close(claim_fd);
|
close(claim_fd);
|
||||||
spdk_dma_free(pctrlr);
|
spdk_free(pctrlr);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nvme_ctrlr_get_vs(&pctrlr->ctrlr, &vs)) {
|
if (nvme_ctrlr_get_vs(&pctrlr->ctrlr, &vs)) {
|
||||||
SPDK_ERRLOG("get_vs() failed\n");
|
SPDK_ERRLOG("get_vs() failed\n");
|
||||||
close(claim_fd);
|
close(claim_fd);
|
||||||
spdk_dma_free(pctrlr);
|
spdk_free(pctrlr);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -923,7 +924,7 @@ nvme_pcie_ctrlr_destruct(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
spdk_pci_device_detach(devhandle);
|
spdk_pci_device_detach(devhandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
spdk_dma_free(pctrlr);
|
spdk_free(pctrlr);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -972,6 +973,7 @@ nvme_pcie_qpair_construct(struct spdk_nvme_qpair *qpair)
|
|||||||
uint64_t offset;
|
uint64_t offset;
|
||||||
uint16_t num_trackers;
|
uint16_t num_trackers;
|
||||||
size_t page_align = 0x200000;
|
size_t page_align = 0x200000;
|
||||||
|
uint32_t flags = SPDK_MALLOC_DMA;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Limit the maximum number of completions to return per call to prevent wraparound,
|
* Limit the maximum number of completions to return per call to prevent wraparound,
|
||||||
@ -990,6 +992,10 @@ nvme_pcie_qpair_construct(struct spdk_nvme_qpair *qpair)
|
|||||||
|
|
||||||
pqpair->sq_in_cmb = false;
|
pqpair->sq_in_cmb = false;
|
||||||
|
|
||||||
|
if (nvme_qpair_is_admin_queue(&pqpair->qpair)) {
|
||||||
|
flags |= SPDK_MALLOC_SHARE;
|
||||||
|
}
|
||||||
|
|
||||||
/* cmd and cpl rings must be aligned on page size boundaries. */
|
/* cmd and cpl rings must be aligned on page size boundaries. */
|
||||||
if (ctrlr->opts.use_cmb_sqs) {
|
if (ctrlr->opts.use_cmb_sqs) {
|
||||||
if (nvme_pcie_ctrlr_alloc_cmb(ctrlr, pqpair->num_entries * sizeof(struct spdk_nvme_cmd),
|
if (nvme_pcie_ctrlr_alloc_cmb(ctrlr, pqpair->num_entries * sizeof(struct spdk_nvme_cmd),
|
||||||
@ -1004,18 +1010,18 @@ nvme_pcie_qpair_construct(struct spdk_nvme_qpair *qpair)
|
|||||||
* a single hugepage only. See MAX_IO_QUEUE_ENTRIES.
|
* a single hugepage only. See MAX_IO_QUEUE_ENTRIES.
|
||||||
*/
|
*/
|
||||||
if (pqpair->sq_in_cmb == false) {
|
if (pqpair->sq_in_cmb == false) {
|
||||||
pqpair->cmd = spdk_dma_zmalloc(pqpair->num_entries * sizeof(struct spdk_nvme_cmd),
|
pqpair->cmd = spdk_zmalloc(pqpair->num_entries * sizeof(struct spdk_nvme_cmd),
|
||||||
page_align,
|
page_align, &pqpair->cmd_bus_addr,
|
||||||
&pqpair->cmd_bus_addr);
|
SPDK_ENV_SOCKET_ID_ANY, flags);
|
||||||
if (pqpair->cmd == NULL) {
|
if (pqpair->cmd == NULL) {
|
||||||
SPDK_ERRLOG("alloc qpair_cmd failed\n");
|
SPDK_ERRLOG("alloc qpair_cmd failed\n");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pqpair->cpl = spdk_dma_zmalloc(pqpair->num_entries * sizeof(struct spdk_nvme_cpl),
|
pqpair->cpl = spdk_zmalloc(pqpair->num_entries * sizeof(struct spdk_nvme_cpl),
|
||||||
page_align,
|
page_align, &pqpair->cpl_bus_addr,
|
||||||
&pqpair->cpl_bus_addr);
|
SPDK_ENV_SOCKET_ID_ANY, flags);
|
||||||
if (pqpair->cpl == NULL) {
|
if (pqpair->cpl == NULL) {
|
||||||
SPDK_ERRLOG("alloc qpair_cpl failed\n");
|
SPDK_ERRLOG("alloc qpair_cpl failed\n");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
@ -1031,7 +1037,8 @@ nvme_pcie_qpair_construct(struct spdk_nvme_qpair *qpair)
|
|||||||
* This ensures the PRP list embedded in the nvme_tracker object will not span a
|
* This ensures the PRP list embedded in the nvme_tracker object will not span a
|
||||||
* 4KB boundary, while allowing access to trackers in tr[] via normal array indexing.
|
* 4KB boundary, while allowing access to trackers in tr[] via normal array indexing.
|
||||||
*/
|
*/
|
||||||
pqpair->tr = spdk_dma_zmalloc(num_trackers * sizeof(*tr), sizeof(*tr), NULL);
|
pqpair->tr = spdk_zmalloc(num_trackers * sizeof(*tr), sizeof(*tr), NULL,
|
||||||
|
SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_SHARE);
|
||||||
if (pqpair->tr == NULL) {
|
if (pqpair->tr == NULL) {
|
||||||
SPDK_ERRLOG("nvme_tr failed\n");
|
SPDK_ERRLOG("nvme_tr failed\n");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
@ -1334,18 +1341,18 @@ nvme_pcie_qpair_destroy(struct spdk_nvme_qpair *qpair)
|
|||||||
nvme_pcie_admin_qpair_destroy(qpair);
|
nvme_pcie_admin_qpair_destroy(qpair);
|
||||||
}
|
}
|
||||||
if (pqpair->cmd && !pqpair->sq_in_cmb) {
|
if (pqpair->cmd && !pqpair->sq_in_cmb) {
|
||||||
spdk_dma_free(pqpair->cmd);
|
spdk_free(pqpair->cmd);
|
||||||
}
|
}
|
||||||
if (pqpair->cpl) {
|
if (pqpair->cpl) {
|
||||||
spdk_dma_free(pqpair->cpl);
|
spdk_free(pqpair->cpl);
|
||||||
}
|
}
|
||||||
if (pqpair->tr) {
|
if (pqpair->tr) {
|
||||||
spdk_dma_free(pqpair->tr);
|
spdk_free(pqpair->tr);
|
||||||
}
|
}
|
||||||
|
|
||||||
nvme_qpair_deinit(qpair);
|
nvme_qpair_deinit(qpair);
|
||||||
|
|
||||||
spdk_dma_free(pqpair);
|
spdk_free(pqpair);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1573,7 +1580,8 @@ nvme_pcie_ctrlr_create_io_qpair(struct spdk_nvme_ctrlr *ctrlr, uint16_t qid,
|
|||||||
|
|
||||||
assert(ctrlr != NULL);
|
assert(ctrlr != NULL);
|
||||||
|
|
||||||
pqpair = spdk_dma_zmalloc(sizeof(*pqpair), 64, NULL);
|
pqpair = spdk_zmalloc(sizeof(*pqpair), 64, NULL,
|
||||||
|
SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_SHARE);
|
||||||
if (pqpair == NULL) {
|
if (pqpair == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -448,7 +448,8 @@ nvme_qpair_init(struct spdk_nvme_qpair *qpair, uint16_t id,
|
|||||||
|
|
||||||
req_size_padded = (sizeof(struct nvme_request) + 63) & ~(size_t)63;
|
req_size_padded = (sizeof(struct nvme_request) + 63) & ~(size_t)63;
|
||||||
|
|
||||||
qpair->req_buf = spdk_dma_zmalloc(req_size_padded * num_requests, 64, NULL);
|
qpair->req_buf = spdk_zmalloc(req_size_padded * num_requests, 64, NULL,
|
||||||
|
SPDK_ENV_SOCKET_ID_ANY, SPDK_MALLOC_SHARE);
|
||||||
if (qpair->req_buf == NULL) {
|
if (qpair->req_buf == NULL) {
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
@ -65,11 +65,11 @@ spdk_memzone_reserve_aligned(const char *name, size_t len, int socket_id,
|
|||||||
return malloc(len);
|
return malloc(len);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFINE_RETURN_MOCK(spdk_dma_malloc, void *);
|
DEFINE_RETURN_MOCK(spdk_malloc, void *);
|
||||||
void *
|
void *
|
||||||
spdk_dma_malloc(size_t size, size_t align, uint64_t *phys_addr)
|
spdk_malloc(size_t size, size_t align, uint64_t *phys_addr, int socket_id, uint32_t flags)
|
||||||
{
|
{
|
||||||
HANDLE_RETURN_MOCK(spdk_dma_malloc);
|
HANDLE_RETURN_MOCK(spdk_malloc);
|
||||||
|
|
||||||
void *buf = NULL;
|
void *buf = NULL;
|
||||||
if (posix_memalign(&buf, align, size)) {
|
if (posix_memalign(&buf, align, size)) {
|
||||||
@ -82,18 +82,36 @@ spdk_dma_malloc(size_t size, size_t align, uint64_t *phys_addr)
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFINE_RETURN_MOCK(spdk_zmalloc, void *);
|
||||||
|
void *
|
||||||
|
spdk_zmalloc(size_t size, size_t align, uint64_t *phys_addr, int socket_id, uint32_t flags)
|
||||||
|
{
|
||||||
|
HANDLE_RETURN_MOCK(spdk_zmalloc);
|
||||||
|
|
||||||
|
void *buf = spdk_malloc(size, align, phys_addr, -1, 1);
|
||||||
|
|
||||||
|
if (buf != NULL) {
|
||||||
|
memset(buf, 0, size);
|
||||||
|
}
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
DEFINE_RETURN_MOCK(spdk_dma_malloc, void *);
|
||||||
|
void *
|
||||||
|
spdk_dma_malloc(size_t size, size_t align, uint64_t *phys_addr)
|
||||||
|
{
|
||||||
|
HANDLE_RETURN_MOCK(spdk_dma_malloc);
|
||||||
|
|
||||||
|
return spdk_malloc(size, align, phys_addr, -1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
DEFINE_RETURN_MOCK(spdk_dma_zmalloc, void *);
|
DEFINE_RETURN_MOCK(spdk_dma_zmalloc, void *);
|
||||||
void *
|
void *
|
||||||
spdk_dma_zmalloc(size_t size, size_t align, uint64_t *phys_addr)
|
spdk_dma_zmalloc(size_t size, size_t align, uint64_t *phys_addr)
|
||||||
{
|
{
|
||||||
HANDLE_RETURN_MOCK(spdk_dma_zmalloc);
|
HANDLE_RETURN_MOCK(spdk_dma_zmalloc);
|
||||||
|
|
||||||
void *buf = spdk_dma_malloc(size, align, phys_addr);
|
return spdk_zmalloc(size, align, phys_addr, -1, 1);
|
||||||
|
|
||||||
if (buf != NULL) {
|
|
||||||
memset(buf, 0, size);
|
|
||||||
}
|
|
||||||
return buf;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFINE_RETURN_MOCK(spdk_dma_malloc_socket, void *);
|
DEFINE_RETURN_MOCK(spdk_dma_malloc_socket, void *);
|
||||||
@ -124,11 +142,17 @@ spdk_dma_realloc(void *buf, size_t size, size_t align, uint64_t *phys_addr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
spdk_dma_free(void *buf)
|
spdk_free(void *buf)
|
||||||
{
|
{
|
||||||
free(buf);
|
free(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
spdk_dma_free(void *buf)
|
||||||
|
{
|
||||||
|
return spdk_free(buf);
|
||||||
|
}
|
||||||
|
|
||||||
DEFINE_RETURN_MOCK(spdk_vtophys, uint64_t);
|
DEFINE_RETURN_MOCK(spdk_vtophys, uint64_t);
|
||||||
uint64_t
|
uint64_t
|
||||||
spdk_vtophys(void *buf)
|
spdk_vtophys(void *buf)
|
||||||
|
Loading…
Reference in New Issue
Block a user