On 2020/2/4 ??2:01, Michael S. Tsirkin wrote:> On Tue, Feb 04, 2020 at 11:30:11AM +0800, Jason Wang wrote: >> 5) generate diffs of memory table and using IOMMU API to setup the dma >> mapping in this method > Frankly I think that's a bunch of work. Why not a MAP/UNMAP interface? >Sure, so that basically VHOST_IOTLB_UPDATE/INVALIDATE I think? Thanks
On Tue, Feb 04, 2020 at 02:46:16PM +0800, Jason Wang wrote:> On 2020/2/4 ??2:01, Michael S. Tsirkin wrote: > > On Tue, Feb 04, 2020 at 11:30:11AM +0800, Jason Wang wrote: > > > 5) generate diffs of memory table and using IOMMU API to setup the dma > > > mapping in this method > > Frankly I think that's a bunch of work. Why not a MAP/UNMAP interface? > > > > Sure, so that basically VHOST_IOTLB_UPDATE/INVALIDATE I think?Do you mean we let userspace to only use VHOST_IOTLB_UPDATE/INVALIDATE to do the DMA mapping in vhost-vdpa case? When vIOMMU isn't available, userspace will set msg->iova to GPA, otherwise userspace will set msg->iova to GIOVA, and vhost-vdpa module will get HPA from msg->uaddr? Thanks, Tiwei> > Thanks > >
On 2020/2/5 ??10:05, Tiwei Bie wrote:> On Tue, Feb 04, 2020 at 02:46:16PM +0800, Jason Wang wrote: >> On 2020/2/4 ??2:01, Michael S. Tsirkin wrote: >>> On Tue, Feb 04, 2020 at 11:30:11AM +0800, Jason Wang wrote: >>>> 5) generate diffs of memory table and using IOMMU API to setup the dma >>>> mapping in this method >>> Frankly I think that's a bunch of work. Why not a MAP/UNMAP interface? >>> >> Sure, so that basically VHOST_IOTLB_UPDATE/INVALIDATE I think? > Do you mean we let userspace to only use VHOST_IOTLB_UPDATE/INVALIDATE > to do the DMA mapping in vhost-vdpa case? When vIOMMU isn't available, > userspace will set msg->iova to GPA, otherwise userspace will set > msg->iova to GIOVA, and vhost-vdpa module will get HPA from msg->uaddr? > > Thanks, > TiweiI think so. Michael, do you think this makes sense? Thanks> >> Thanks >> >>