Spdk/lib/env_dpdk
Aviv Ben-David 90a5c8c547 env/memory: fix unregistration of memory after memory registration issue
The current error handling of `spdk_mem_map_notify_walk` has off by 2
issue. This issue can split one memory region to multiple smaller
regions when calling the callback to unregister the memory region.
Also, in case of failure, the 1 GB maps of the map failed to be freed.

RDMA doesn't support this behavior and support calling the callback only
once for each previously registered memory region.

Signed-off-by: Aviv Ben-David <aviv.bendavid@vastdata.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11219 (master)

(cherry picked from commit c883771123)
Change-Id: I65b667f2e84533f234a2e330b20e9ad9eef32854
Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12476
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-06-30 13:32:31 -04:00
..
env_internal.h env/dpdk: revert 8f7d9ec "env/dpdk: Use the DPDK device count for IOMMU mapping" 2022-06-30 13:32:25 -04:00
env.c Revert "env/dpdk: Exclude the orig cpuset in spdk_unaffinitize_thread" 2022-06-30 13:32:28 -04:00
env.mk env_dpdk: link dmadev if CONFIG_VHOST=y 2022-06-30 13:32:31 -04:00
init.c env_dpdk: ensure that cleanup destructor runs last 2022-06-30 13:32:30 -04:00
Makefile env: remove spdk_pci_get_[first|next]_device 2022-06-30 13:32:29 -04:00
memory.c env/memory: fix unregistration of memory after memory registration issue 2022-06-30 13:32:31 -04:00
pci_event.c spelling: lib 2022-06-30 13:32:28 -04:00
pci_idxd.c env: fix pci driver registration 2020-08-27 08:36:43 +00:00
pci_ioat.c env: fix pci driver registration 2020-08-27 08:36:43 +00:00
pci_virtio.c env: fix pci driver registration 2020-08-27 08:36:43 +00:00
pci_vmd.c vmd: update for changes in IceLake platform 2021-08-31 08:39:37 +00:00
pci.c env: add experimental APIs to handle PCI device interrupts 2022-06-30 13:32:30 -04:00
sigbus_handler.c env: only pass failing address to spdk_pci_error_handler 2021-06-15 08:34:28 +00:00
spdk_env_dpdk.map env: add experimental APIs to handle PCI device interrupts 2022-06-30 13:32:30 -04:00
threads.c Revert "thread: add spdk_env_get_primary_core" 2020-07-29 14:58:44 +00:00