Go to file
Dmitry Kozlyuk 8ad97e4b32 common/mlx5: fix multi-process mempool registration
The `mp_cb_registered` flag shared between all processes
was used to ensure that for any IB device (MLX5 common device)
mempool event callback was registered only once
and mempools that had been existing before the device start
were traversed only once to register them.
Since mempool callback registrations have become process-private,
callback registration must be done by every process.
The flag can no longer reflect the state for any single process.
Replace it with a registration counter to track
when no more callbacks are registered for the device in any process.
It is sufficient to only register pre-existing mempools
in the primary process because it is the one that starts the device.

Fixes: 690b2a88c2 ("common/mlx5: add mempool registration facilities")
Cc: stable@dpdk.org

Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
2022-10-10 16:38:15 +02:00
.ci ci: add RISC-V cross compilation 2022-06-08 11:26:34 +02:00
.github/workflows test: invoke all telemetry commands 2022-08-25 16:23:17 +02:00
app power: add Intel uncore frequency control 2022-10-10 14:53:40 +02:00
buildtools build: add definitions for use as Meson subproject 2022-06-07 20:49:20 +02:00
config drivers: mark cnxk to support disabling IOVA as PA 2022-10-09 13:14:57 +02:00
devtools eal/loongarch: support LoongArch architecture 2022-10-06 12:45:05 +02:00
doc examples/l3fwd-power: add options for uncore frequency 2022-10-10 14:53:40 +02:00
drivers common/mlx5: fix multi-process mempool registration 2022-10-10 16:38:15 +02:00
examples examples/l3fwd-power: add options for uncore frequency 2022-10-10 14:53:40 +02:00
kernel kni: use dedicated function to set MAC address 2022-06-08 19:17:21 +02:00
lib mempool: make event callbacks process-private 2022-10-10 16:38:03 +02:00
license lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
usertools usertools: add options for hugetlbfs mount point owner 2022-06-27 02:24:12 +02:00
.editorconfig devtools: clarify that lines up to 100 characters are ok 2021-11-25 11:51:24 +01:00
.gitattributes
.gitignore doc: add eventdev feature matrices 2021-11-26 16:29:25 +01:00
.travis.yml version: 22.11-rc0 2022-07-21 12:13:48 +02:00
ABI_VERSION version: 22.11-rc0 2022-07-21 12:13:48 +02:00
MAINTAINERS maintainers: update for sched and softnic 2022-10-09 19:36:57 +02:00
Makefile build: create dummy Makefile 2020-09-07 23:51:57 +02:00
meson_options.txt build: add option to configure IOVA mode as PA 2022-10-09 13:14:52 +02:00
meson.build eal/loongarch: support LoongArch architecture 2022-10-06 12:45:05 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 22.11-rc0 2022-07-21 12:13:48 +02:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org