[dpdk-dev] rte APIs for allocating IOVA contiguous memory
Devendra Singh Rawat
dsinghrawat at marvell.com
Fri Sep 18 09:49:51 CEST 2020
Apart from using rte_memzone_reserve_* APIs, is there any other way to allocate IOVA contiguous memory block in DPDK ?
If I am correct there is no 'rte' API to allocate an anonymous IOVA contiguous memory block from a heap, right ?
My PMD needs to allocate many IOVA contiguous memory blocks of different sizes according to parameters passed to DPDK application.
These blocks are shared by PMD and HW.
I can't use mempool as block size is not fixed.
I can't use rte_memzone_reserve_* either as I am hitting RTE_MAX_MEMZONE limit, and setting this limit to a higher value is not an option for me.
I also can't enforce the policies of using legacy memory model, and IOMMU in VA mode.
I can see rte_malloc_socket() but it does not provide any provision to pass RTE_MEMZONE_IOVA_CONTIG flag to
malloc_heap_alloc().
Thanks,
Devendra
More information about the dev
mailing list