Message ID | 20210112173923.30320-4-ndabilpuram@marvell.com |
---|---|
State | Superseded |
Delegated to: | David Marchand |
Headers | show |
Series |
|
Related | show |
Context | Check | Description |
---|---|---|
ci/iol-testing | success | Testing PASS |
ci/iol-abi-testing | success | Testing PASS |
ci/intel-Testing | success | Testing PASS |
ci/Intel-compilation | success | Compilation OK |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/iol-broadcom-Functional | success | Functional Testing PASS |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/checkpatch | success | coding style OK |
On Tue, Jan 12, 2021 at 6:39 PM Nithin Dabilpuram <ndabilpuram@marvell.com> wrote: > > 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. When you say "earlier", do you mean before this series? The other patches have been marked for backports, so either this test change must be too, or its content must be squashed in the right patch of this series.
On Thu, Jan 14, 2021 at 05:30:05PM +0100, David Marchand wrote: > On Tue, Jan 12, 2021 at 6:39 PM Nithin Dabilpuram > <ndabilpuram@marvell.com> wrote: > > > > 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. > > When you say "earlier", do you mean before this series? > The other patches have been marked for backports, so either this test > change must be too, or its content must be squashed in the right patch > of this series. Yes, I meant before this series when I said "earlier". Missed to cc stable on this patch. Will send a V8. > > > -- > David Marchand >
diff --git a/app/test/test_external_mem.c b/app/test/test_external_mem.c index 7eb81f6..5edf88b 100644 --- a/app/test/test_external_mem.c +++ b/app/test/test_external_mem.c @@ -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 @@ test_extmem_basic(void *addr, size_t len, size_t pgsz, rte_iova_t *iova, 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;
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. Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com> --- app/test/test_external_mem.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)