On 2021/7/2 22:57, Morten Brørup wrote: >> In the DPDK framework, many data-plane API names contain queues. e.g. >> eventdev/crypto.. >> The concept of virt queues has continuity. > > I was also wondering about the name "virtual queue". > > Usually, something "virtual" would be an abstraction of something physical, > e.g. a software layer on top of something physical. > > Back in the days, a "DMA channel" used to mean a DMA engine on a CPU. If a > CPU had 2 DMA channels, they could both be set up simultaneously. > > The current design has the "dmadev" representing a CPU or other chip, which > has one or more "HW-queues" representing DMA channels (of the same type), and > then "virt-queue" as a software abstraction on top, for using a DMA channel > in different ways through individually configured contexts (virt-queues). > > It makes sense to me, although I would consider renaming "HW-queue" to > "channel" and perhaps "virt-queue" to "queue".
The 'DMA channel' is more used than 'DMA queue', at least google show that there are at least 20+ times more. It's a good idea build the abstraction layer: queue <> channel <> dma-controller. In this way, the meaning of each layer is relatively easy to distinguish literally. will fix in V2 > > These names are not important to me. You can keep them or change them; I am > happy any way. > > But the names used for functions, types and parameters need to be cleaned up > and match the names used in the documentation. E.g. rte_dmadev_queue_setup() > does not set up a queue, it sets up a virt-queue, so that function name needs > to be corrected. > > Also, the rte_ prefix is missing in a few places, e.g. struct dma_scatterlist > and enum dma_address_type. Obviously not important for this high level > discussion based on draft source code, but important for the final > implementation. will fix in V2 > > -Morten >