[dpdk-dev] Issue with VFIO/IOMMU

Vikas Gupta vikas.gupta at broadcom.com
Thu Sep 3 13:09:50 CEST 2020


Hi,

  I observe an issue with IOVA address returned by api
rte_memzone_reserve_aligned (flags= RTE_MEMZONE_IOVA_CONTIG) used for queue
memory allocation. With high level debugging, I notice that IOVA address
returned in mz->iova is not mapped by VFIO_IOMMU_MAP_DMA so in turn SMMU
exception is seen.



*Details for the setup*

Platform: Armv8 (Broadcom Stingray)

DPDK release: DPDK 20.08 <http://fast.dpdk.org/rel/dpdk-20.08.tar.xz>

PMD patch:

https://patches.dpdk.org/project/dpdk/list/?series=&submitter=1907&state=&q=&archive=&delegate=

dpdk-test is launched using below command

*dpdk-test --vdev <cryptopmd_name> -w 0000:00:00.0 --iova-mode pa *



The test suite is launched over dpdk-test application command prompt using
command ‘cryptodev_<cryptopmd_name>_autotest’

The issue is seen when several iterations of above test_suite is executed
which in turn do multiple calls to rte_memzone_reserve_aligned,
rte_mempool_create and rte_memzone_free, rte_mempool_free.

 Function *vfio_type1_dma_mem_map* with map/unmap event is executed several
times during test_suite run.



Any inputs would be helpful.



Thanks,

Vikas


More information about the dev mailing list