On 03-Sep-20 12:09 PM, Vikas Gupta wrote:
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.
I'm not sure i follow.
How did you determine that to be the case, given that, by your own
admission below, `vfio_type1_dma_mem_map` function is executed several
times?
*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
--
Thanks,
Anatoly