test/nvme: allocate aligned memory in unit tests
Match the expected alignment for nvme_alloc_request() and nvme_malloc() to allow optimized memory copy code to work even in the unit tests. Change-Id: I546692a6df9615a12a8209618fb6159a9c9e426b Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
88669436f9
commit
eb9d77a910
@ -47,7 +47,10 @@ struct spdk_pci_device;
|
|||||||
static inline void *
|
static inline void *
|
||||||
nvme_malloc(const char *tag, size_t size, unsigned align, uint64_t *phys_addr)
|
nvme_malloc(const char *tag, size_t size, unsigned align, uint64_t *phys_addr)
|
||||||
{
|
{
|
||||||
void *buf = calloc(1, size);
|
void *buf = NULL;
|
||||||
|
if (posix_memalign(&buf, align, size)) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
*phys_addr = (uint64_t)buf;
|
*phys_addr = (uint64_t)buf;
|
||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
@ -74,7 +77,9 @@ uint64_t nvme_vtophys(void *buf);
|
|||||||
#define nvme_alloc_request(bufp) \
|
#define nvme_alloc_request(bufp) \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
*bufp = malloc(sizeof(struct nvme_request)); \
|
if (posix_memalign((void **)(bufp), 64, sizeof(struct nvme_request))) { \
|
||||||
|
*(bufp) = NULL; \
|
||||||
|
} \
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user