numam-dpdk/lib/librte_eal
Nithin Dabilpuram c13ca4e81c vfio: fix DMA mapping granularity for IOVA as VA
Partial unmapping is not supported for VFIO IOMMU type1
by kernel. Though kernel gives return as zero, the unmapped size
returned will not be same as expected. So check for
returned unmap size and return error.

For IOVA as PA, DMA mapping is already at memseg size
granularity. Do the same even for IOVA as VA mode as
DMA map/unmap triggered by heap allocations,
maintain granularity of memseg page size so that heap
expansion and contraction does not have this issue.

For user requested DMA map/unmap disallow partial unmapping
for VFIO type1.

Fixes: 73a6390859 ("vfio: allow to map other memory regions")
Cc: stable@dpdk.org

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: David Christensen <drc@linux.vnet.ibm.com>
2021-03-01 11:58:28 +01:00
..
arm eal/arm: fix debug build with gcc for 128-bit atomics 2021-01-27 11:21:21 +01:00
common eal: fix automatic loading of drivers as shared libs 2021-02-10 10:01:48 +01:00
freebsd service: propagate init error in EAL 2021-01-15 16:32:19 +01:00
include build: add header includes check 2021-01-29 20:59:37 +01:00
linux vfio: fix DMA mapping granularity for IOVA as VA 2021-03-01 11:58:28 +01:00
ppc eal: add monitor wakeup function 2021-01-18 23:59:42 +01:00
unix eal: add generic thread-local-storage functions 2021-01-11 23:28:12 +01:00
windows eal/windows: fix C++ compatibility 2021-01-17 18:27:48 +01:00
x86 build: add header includes check 2021-01-29 20:59:37 +01:00
meson.build eal/windows: use bundled getopt with MinGW 2020-10-05 09:12:24 +02:00
rte_eal_exports.def eal/windows: build reciprocal division functions 2021-01-15 15:04:03 +01:00
version.map eal: add monitor wakeup function 2021-01-18 23:59:42 +01:00