test/mem: fix page size for external memory
authorNithin Dabilpuram <ndabilpuram@marvell.com>
Fri, 15 Jan 2021 07:32:43 +0000 (13:02 +0530)
committerDavid Marchand <david.marchand@redhat.com>
Mon, 1 Mar 2021 10:58:28 +0000 (11:58 +0100)
Currently external memory test uses 4K page size.
VFIO DMA mapping works only with system page granularity.

Earlier it was working because all the contiguous mappings
were coalesced and mapped in one-go which ended up becoming
a lot bigger page. Now that VFIO DMA mappings both in IOVA as VA
and IOVA as PA mode, are being done at memseg list granularity,
we need to use system page size.

Fixes: b270daa43b3d ("test: support external memory")
Cc: stable@dpdk.org
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
app/test/test_external_mem.c

index 7eb81f6..5edf88b 100644 (file)
@@ -13,6 +13,7 @@
 #include <rte_common.h>
 #include <rte_debug.h>
 #include <rte_eal.h>
+#include <rte_eal_paging.h>
 #include <rte_errno.h>
 #include <rte_malloc.h>
 #include <rte_ring.h>
@@ -532,8 +533,8 @@ fail:
 static int
 test_external_mem(void)
 {
+       size_t pgsz = rte_mem_page_size();
        size_t len = EXTERNAL_MEM_SZ;
-       size_t pgsz = RTE_PGSIZE_4K;
        rte_iova_t iova[len / pgsz];
        void *addr;
        int ret, n_pages;