numam-spdk/lib/env_dpdk
Jim Harris c833f6aa3e env_dpdk: unlink hugepages if shm_id is not specified
The only release to not unlink hugepages after mmaping
them is for multiprocess.  But if shm_id is not
specified, then we aren't using multiprocess.  This
ensures that all hugepages get released when the
process exits, even if there is memory in those
hugepages that was not freed during process shutdown.

Make sure we don't enable both huge-unlink and
single-file-segments at the same time though, DPDK doesn't
support that.

Note that even when using multi-process, if hugepages
aren't released, they aren't really leaked.  DPDK will
clean them up next time the application runs.

Fixes issue #2267.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I017bd4f7ed9cf6aaa141879539b099fb48f357f4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10991
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: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-02-18 14:56:54 +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 Revert "env/dpdk: Exclude the orig cpuset in spdk_unaffinitize_thread" 2021-12-01 09:16:47 +00:00
env.mk env_dpdk: link dmadev if CONFIG_VHOST=y 2022-02-16 11:54:18 +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/dpdk: revert 8f7d9ec "env/dpdk: Use the DPDK device count for IOMMU mapping" 2021-09-24 07:40:21 +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: add experimental APIs to handle PCI device interrupts 2022-01-14 08:35:24 +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