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

Reply via email to