From: Anatoly Burakov Date: Fri, 21 Dec 2018 11:29:02 +0000 (+0000) Subject: test/mem: check external memseg list X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=f4e24a403c44db133b29b97231fa133396b8f810;p=dpdk.git test/mem: check external memseg list Extend the extmem autotest to check whether the memseg lists for externally allocated memory are always marked as external. Signed-off-by: Anatoly Burakov --- diff --git a/test/test/test_external_mem.c b/test/test/test_external_mem.c index 06e6ccc1d4..b877f8e2ea 100644 --- a/test/test/test_external_mem.c +++ b/test/test/test_external_mem.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -29,11 +30,19 @@ check_mem(void *addr, rte_iova_t *iova, size_t pgsz, int n_pages) /* check that we can get this memory from EAL now */ for (i = 0; i < n_pages; i++) { + const struct rte_memseg_list *msl; const struct rte_memseg *ms; void *cur = RTE_PTR_ADD(addr, pgsz * i); rte_iova_t expected_iova; - ms = rte_mem_virt2memseg(cur, NULL); + msl = rte_mem_virt2memseg_list(cur); + if (!msl->external) { + printf("%s():%i: Memseg list is not marked as external\n", + __func__, __LINE__); + return -1; + } + + ms = rte_mem_virt2memseg(cur, msl); if (ms == NULL) { printf("%s():%i: Failed to retrieve memseg for external mem\n", __func__, __LINE__);