[25.11 PATCH v3 0/5] Introduce DMA enqueue/dequeue operations
Pavan Nikhilesh Bhagavatula
pbhagavatula at marvell.com
Sun Sep 14 17:34:30 CEST 2025
Ping for review.
>Hi Bruce,
>
>>On Sat, May 24, 2025 at 02:43:10PM +0530, pbhagavatula at marvell.com wrote:
>>> From: Pavan Nikhilesh <pbhagavatula at marvell.com>
>>>
>>> Introduce DMA enqueue/dequeue operations to the DMA device library.
>>>
>>> Add configuration flags to rte_dma_config instead of boolean for
>>> individual features.
>>>
>>> The enqueue/dequeue operations allow applications to communicate with the
>>> DMA device using the rte_dma_op structure, providing a more flexible and
>>> efficient way to manage DMA operations.
>>>
>>
>>While I have no really strong objections to this addition to the dmadev
>>API, I'd appreciate if you could explain WHY or how this method of working
>>is more efficient in your usecase? When designing the dmadev APIs
>>originally, we looked at using both an enqueue-type API as well as the
>>implemented individual-op-based APIs. IIRC at that time testing showed that
>>using the single ops directly was faster than using the enqueue APIs, so
>>I'm wondering what exactly has changed, or is different about your usecase?
>>
>
>Here is an example where we see enqueue/dequeue ops to be useful especially when
>integrating with Graph library.
>
>We had to write an entire wrapper[1] for tracking sges with the current implementation
>making our nodes[2] very complex.
>
>[1]https://github.com/MarvellEmbeddedProcessors/dao/blob/dao-devel/lib/common/dao_dma.h
>[2]https://github.com/MarvellEmbeddedProcessors/dao/blob/3f364261de91e355699bd9af20d60ea6459f7d67/lib/virtio_net/virtio_net_deq_ext.c#L51
>
>>/Bruce
>
>Thanks,
>Pavan.
More information about the dev
mailing list