Go to file
Suanming Mou 5522da6b20 net/mlx5: add option to allocate memory from system
Currently, for MLX5 PMD, once millions of flows created, the memory
consumption of the flows are also very huge. For the system with limited
memory, it means the system need to reserve most of the memory as huge
page memory to serve the flows in advance. And other normal applications
will have no chance to use this reserved memory any more. While most of
the time, the system will not have lots of flows, the  reserved huge
page memory becomes a bit waste of memory at most of the time.

By the new sys_mem_en devarg, once set it to be true, it allows the PMD
allocate the memory from system by default with the new add mlx5 memory
management functions. Only once the MLX5_MEM_RTE flag is set, the memory
will be allocate from rte, otherwise, it allocates memory from system.

So in this case, the system with limited memory no need to reserve most
of the memory for hugepage. Only some needed memory for datapath objects
will be enough to allocated with explicitly flag. Other memory will be
allocated from system. For system with enough memory, no need to care
about the devarg, the memory will always be from rte hugepage.

One restriction is that for DPDK application with multiple PCI devices,
if the sys_mem_en devargs are different between the devices, the
sys_mem_en only gets the value from the first device devargs, and print
out a message to warn that.

Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
2020-07-21 15:44:36 +02:00
.ci ci: reduce examples in static builds 2020-04-17 23:34:08 +02:00
app add python2 deprecation notice 2020-07-21 22:58:18 +02:00
buildtools build: remove special versioning for non stable libraries 2020-07-07 12:48:25 +02:00
config regex/mlx5: introduce driver for BlueField 2 2020-07-21 19:04:05 +02:00
devtools add python2 deprecation notice 2020-07-21 22:58:18 +02:00
doc net/mlx5: add option to allocate memory from system 2020-07-21 15:44:36 +02:00
drivers net/mlx5: add option to allocate memory from system 2020-07-21 15:44:36 +02:00
examples examples/ipsec-secgw: enable flow based distribution 2020-07-20 14:51:31 +05:30
kernel kernel/linux: error out on module build failure 2020-05-19 17:59:57 +02:00
lib net: check fragmented headers in non-debug as well 2020-07-21 13:54:54 +02:00
license eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
mk regex/mlx5: support probing 2020-07-21 19:04:05 +02:00
usertools add python2 deprecation notice 2020-07-21 22:58:18 +02:00
.editorconfig devtools: add EditorConfig file 2020-02-22 21:05:22 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore regex/mlx5: introduce driver for BlueField 2 2020-07-21 19:04:05 +02:00
.travis.yml version: 20.08-rc0 2020-05-27 11:37:33 +02:00
ABI_VERSION version: 20.08-rc0 2020-05-27 11:37:33 +02:00
GNUmakefile test: move to app directory 2019-02-26 15:29:27 +01:00
MAINTAINERS regex/mlx5: introduce driver for BlueField 2 2020-07-21 19:04:05 +02:00
Makefile remove blank lines at end of file 2019-11-26 00:12:08 +01:00
meson_options.txt trace: introduce new subsystem 2020-04-23 15:39:06 +02:00
meson.build build: check AVX512 rather than binutils version 2020-07-05 21:32:40 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 20.08-rc1 2020-07-13 02:50:06 +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