On Sun, Oct 8, 2023 at 8:03 AM fengchengwen <fengcheng...@huawei.com> wrote: > > Hi Anatoly, > > On 2023/8/12 0:14, Anatoly Burakov wrote: > > Add a flag to indicate that a specific device supports inter-domain > > operations, and add an API for inter-domain copy and fill. > > > > Inter-domain operation is an operation that is very similar to regular > > DMA operation, except either source or destination addresses can be in a > > different process's address space, indicated by source and destination > > handle values. These values are currently meant to be provided by > > private drivers' API's. > > > > This commit also adds a controller ID field into the DMA device API. > > This is an arbitrary value that may not be implemented by hardware, but > > it is meant to represent some kind of device hierarchy. > > > > Signed-off-by: Vladimir Medvedkin <vladimir.medved...@intel.com> > > Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com> > > --- > > ... > > > +__rte_experimental > > +static inline int > > +rte_dma_copy_inter_dom(int16_t dev_id, uint16_t vchan, rte_iova_t src, > > + rte_iova_t dst, uint32_t length, uint16_t src_handle, > > + uint16_t dst_handle, uint64_t flags) > > I would suggest add more general extension: > rte_dma_copy*(int16_t dev_id, uint16_t vchan, rte_iova_t src, rte_iova_t dst, > uint32_t length, uint64_t flags, void *param) > The param only valid under some flags bits. > As for this inter-domain extension: we could define inter-domain param struct. > > > Whether add in current rte_dma_copy() API or add one new API, I think it > mainly > depend on performance impact of parameter transfer. Suggest more discuss for > differnt platform and call specification.
Or move src_handle/dst_hanel to vchan config to enable better performance. Application create N number of vchan based on the requirements. > > > And last, Could you introduce the application scenarios of this feature? Looks like VM to VM or container to container copy. > > > Thanks. >