Spdk/lib/env_dpdk
Jim Harris 68184a5030 env_dpdk: remove assert from pci_device_fini()
When using the SPDK nvme driver in multi-process mode,
and multiple processes detach from their devices
(i.e. at application exit) very close to each other,
there are cases where a process can have started its
own detach, and then get two remove notifications - one
from its own detach, and another from another process'
detach.

So we need to remove the assertion in pci_device_fini(),
if the removed flag has already been set.

Fixes #2456.

Tested using a modified version of the
nvme_multi_secondary() function in test/nvme/nvme.sh
that starts several additional perf applications.
The test consistently failed without this patch,
and passes every time with this patch.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I91e16985cdc4a463aaac2c45096bb967aab85560

Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12454
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-06 23:12:51 +00:00
..
env_internal.h env/dpdk: revert 8f7d9ec "env/dpdk: Use the DPDK device count for IOMMU mapping" 2021-09-24 07:40:21 +00:00
env.c env_dpdk: do not set RTE_MEMPOOL_F_NO_IOVA_CONTIG 2022-04-15 08:25:54 +00:00
env.mk configure: Changes to support MLX5 crypto 2022-03-04 09:40:04 +00:00
init.c env_dpdk: unlink hugepages if shm_id is not specified 2022-02-18 14:56:54 +00:00
Makefile so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
memory.c env/memory: fix unregistration of memory after memory registration issue 2022-03-09 09:06:30 +00:00
pci_event.c spelling: lib 2021-12-03 08:12:55 +00: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_dpdk: remove assert from pci_device_fini() 2022-05-06 23:12:51 +00: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-01-14 08:35:24 +00:00
threads.c Revert "thread: add spdk_env_get_primary_core" 2020-07-29 14:58:44 +00:00