numam-dpdk/lib
Yunjian Wang 22677b0eef vfio: fix duplicated user mem map
Currently, new user mem maps are checked if they are adjacent to
an existing mem map and if so, the mem map entries are merged.

It didn't check for duplicate mem maps, so if the API is called
with the same mem map multiple times, they will occupy multiple
mem map entries. This will reduce the amount of entries available
for unique mem maps.

So check for duplicate mem maps and merge them into one mem map
entry if any found.

Fixes: 0cbce3a167 ("vfio: skip DMA map failure if already mapped")
Cc: stable@dpdk.org

Suggested-by: Kevin Traynor <ktraynor@redhat.com>
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
2021-04-19 11:57:46 +02:00
..
librte_acl build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_bbdev bbdev: add explicit enum for code block mode 2021-04-16 12:43:33 +02:00
librte_bitratestats bitrate: fix missing header include 2021-01-21 10:27:44 +01:00
librte_bpf build: force pkg-config for dependency detection 2021-01-26 00:43:59 +01:00
librte_cfgfile build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_cmdline net: provide IP-related API on any OS 2021-04-15 01:56:43 +02:00
librte_compressdev lib: fix doxygen for parameters of function pointers 2021-01-29 15:58:06 +01:00
librte_cryptodev cryptodev: formalize key wrap method in API 2021-04-16 12:43:33 +02:00
librte_distributor build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_eal vfio: fix duplicated user mem map 2021-04-19 11:57:46 +02:00
librte_efd efd: fix tailq entry leak in error path 2020-10-22 22:07:15 +02:00
librte_ethdev ethdev: update flow item GTP QFI definition 2021-04-14 14:17:41 +02:00
librte_eventdev eventdev: fix case to initiate crypto adapter service 2021-04-17 19:22:41 +02:00
librte_fib fib: fix missing header includes 2021-01-21 10:27:47 +01:00
librte_flow_classify build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_graph build: standardize component names and defines 2020-10-19 22:15:34 +02:00
librte_gro gro: fix packet type detection with IPv6 tunnel 2020-11-14 10:56:30 +01:00
librte_gso gso: support VXLAN UDP/IPv4 2021-01-15 11:31:28 +01:00
librte_hash build: add header includes check 2021-01-29 20:59:37 +01:00
librte_ip_frag ip_frag: remove padding length of fragment 2021-01-15 11:31:28 +01:00
librte_ipsec build: add header includes check 2021-01-29 20:59:37 +01:00
librte_jobstats build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_kni build: align wording of non-support reasons 2020-11-20 16:05:35 +01:00
librte_kvargs eal: make OS shims internal 2021-04-15 01:56:20 +02:00
librte_latencystats latency: switch Rx timestamp to dynamic mbuf field 2020-11-03 16:21:15 +01:00
librte_lpm build: add header includes check 2021-01-29 20:59:37 +01:00
librte_mbuf mbuf: rename outer IP checksum macro 2021-03-02 10:57:28 +01:00
librte_member build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_mempool mempool: fix panic on dump or audit 2021-02-05 17:40:23 +01:00
librte_meter build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_metrics telemetry: rename internal-only header file 2021-03-25 17:35:10 +01:00
librte_net net: provide IP-related API on any OS 2021-04-15 01:56:43 +02:00
librte_node node: fix missing header include 2021-01-21 10:27:47 +01:00
librte_pci pci: rename catch-all ID 2021-04-06 14:52:49 +02:00
librte_pdump pdump: cleanup logs and variables 2021-01-19 15:24:46 +01:00
librte_pipeline pipeline: add meter array to SWX 2021-03-24 19:18:45 +01:00
librte_port port: add file descriptor SWX port 2021-03-23 19:50:44 +01:00
librte_power power: replace unsigned -1 with unsigned maximum 2021-04-19 11:36:12 +02:00
librte_rawdev lib: fix doxygen for parameters of function pointers 2021-01-29 15:58:06 +01:00
librte_rcu rcu: use EAL memory barrier API 2021-01-11 15:34:21 +01:00
librte_regexdev build: add header includes check 2021-01-29 20:59:37 +01:00
librte_reorder reorder: switch sequence number to dynamic mbuf field 2020-10-31 22:14:30 +01:00
librte_rib rib: fix missing header include 2021-01-29 20:59:09 +01:00
librte_ring build: add header includes check 2021-01-29 20:59:37 +01:00
librte_sched build: remove library name from version map file name 2020-10-19 22:13:59 +02:00
librte_security lib: fix doxygen for parameters of function pointers 2021-01-29 15:58:06 +01:00
librte_stack build: add header includes check 2021-01-29 20:59:37 +01:00
librte_table table: add wildcard match table type 2021-03-23 19:47:20 +01:00
librte_telemetry telemetry: cleanup internal header 2021-03-26 17:17:45 +01:00
librte_timer timer: clarify error if subsystem already initialized 2021-04-08 23:12:55 +02:00
librte_vhost vhost: avoid IOTLB mempool allocation while IOMMU disabled 2021-04-07 08:54:05 +02:00
meson.build build: limit symbol checks to developer mode 2021-04-09 19:07:25 +02:00