numam-dpdk/lib
Anatoly Burakov d1c7c0cdf7 vfio: map contiguous areas in one go
Currently, when we are creating DMA mappings for memory that's
either external or is backed by hugepages in IOVA as PA mode, we
assume that each page is necessarily discontiguous. This may not
actually be the case, especially for external memory, where the
user is able to create their own IOVA table and make it
contiguous. This is a problem because VFIO has a limited number
of DMA mappings, and it does not appear to concatenate them and
treats each mapping as separate, even when they cover adjacent
areas.

Fix this so that we always map contiguous memory in a single
chunk, as opposed to mapping each segment separately.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Ray Kinsella <ray.kinsella@intel.com>
2020-03-27 10:09:22 +01:00
..
librte_acl acl: fix 32-bit match for range field 2020-02-13 14:43:56 +01:00
librte_bbdev build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_bitratestats build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_bpf bpf: fix headers install with meson 2020-02-06 09:20:07 +01:00
librte_cfgfile cfgfile: fix symbols map 2020-01-20 00:29:49 +01:00
librte_cmdline eal: introduce portable format attribute 2020-03-18 01:19:16 +01:00
librte_compressdev build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_cryptodev cryptodev: fix doxygen of CPU crypto API 2020-02-13 12:41:04 +01:00
librte_distributor build: remove unneeded function versioning 2020-02-05 21:27:29 +01:00
librte_eal vfio: map contiguous areas in one go 2020-03-27 10:09:22 +01:00
librte_efd build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_ethdev ethdev: fix spelling 2020-03-18 10:21:42 +01:00
librte_eventdev eventdev: use custom element size rings 2020-01-19 19:32:50 +01:00
librte_fib fib: fix possible integer overflow 2020-02-06 16:17:14 +01:00
librte_flow_classify build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_gro build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_gso build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_hash hash: fix lock-free flag doxygen 2020-02-05 19:42:24 +01:00
librte_ip_frag lib: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
librte_ipsec ipsec: fix use of uninitialized variable 2020-02-20 11:16:46 +01:00
librte_jobstats build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_kni kni: fix not contiguous FIFO 2020-02-14 11:59:01 +01:00
librte_kvargs build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_latencystats latency: fix calculation for multi-thread 2020-01-20 01:32:50 +01:00
librte_lpm lpm6: make IPv6 address immutable 2020-02-16 20:45:46 +01:00
librte_mbuf lib: fix unnecessary double negation 2020-02-14 17:39:46 +01:00
librte_member build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_mempool lib: fix unnecessary double negation 2020-02-14 17:39:46 +01:00
librte_meter meter: remove experimental flag from RFC4115 trTCM API 2020-01-20 16:37:27 +01:00
librte_metrics build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_net build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_pci pci: fix build on ppc 2020-03-17 14:53:48 +01:00
librte_pdump pdump: use dynamic log type 2020-02-05 19:42:24 +01:00
librte_pipeline build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_port lib: use common macro RTE_DIM 2020-02-05 14:37:41 +01:00
librte_power power: fix error log on guest message polling 2019-11-26 00:29:24 +01:00
librte_rawdev build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_rcu build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_reorder build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_rib build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_ring ring: fix unaligned memory access on aarch32 2020-03-19 16:18:09 +01:00
librte_sched build: align symbols with global ABI version 2019-11-20 23:05:39 +01:00
librte_security security: add CPU crypto action type 2020-02-05 15:29:49 +01:00
librte_stack build: remove individual library versions 2019-11-20 23:05:39 +01:00
librte_table eal: fix compiler detection in public headers 2020-03-18 00:59:17 +01:00
librte_telemetry telemetry: fix port stats retrieval 2020-03-13 13:57:04 +01:00
librte_timer build: remove unneeded function versioning 2020-02-05 21:27:29 +01:00
librte_vhost vhost: protect log address translation in IOTLB update 2020-02-14 12:42:13 +01:00
Makefile vhost: fix build dependency on hash lib 2019-11-08 23:15:05 +01:00
meson.build build: support MinGW-w64 with Meson 2020-03-18 01:20:39 +01:00