[25.11 PATCH v3 0/5] Introduce DMA enqueue/dequeue operations
Pavan Nikhilesh Bhagavatula
pbhagavatula at marvell.com
Tue Sep 23 16:48:39 CEST 2025
Gentle reminder.
>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