On 04-Apr-18 12:21 AM, Anatoly Burakov wrote:
Currently it is not possible to use memory that is not owned by DPDK to
perform DMA. This scenarion might be used in vhost applications (like
SPDK) where guest send its own memory table. To fill this gap provide
API to allow registering arbitrary address in VFIO container.
Signed-off-by: Pawel Wodkowski <pawelx.wodkow...@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
Signed-off-by: Gowrishankar Muthukrishnan <gowrishanka...@linux.vnet.ibm.com>
---
@Gowrishankar,
We've discussed this privately already, but just to make sure it is
publicly stated: as it is, parts of this patchset for PPC64 have
potential issues with them.
Unmapping and remapping the entire segment list on alloc introduces a
race condition - what if a DMA request comes in while we're in the
middle of remapping? We cannot realistically stop NICs from doing DMA
while some other thread is allocating memory.
There is also a larger issue that i've raised in a previous response to
this patch [1], and PPC64 will will have this problem worse, because not
only the described issue will happen on hot-unplug/hotplug, but it may
also happen during regular allocations, because PPC64 IOMMU will drop
all mappings on window resize.
[1] http://dpdk.org/ml/archives/dev/2018-April/095182.html
--
Thanks,
Anatoly