Go to file
Anatoly Burakov 1e3380a2f4 mem: do not use lockfiles for single file segments mode
Due to internal glibc limitations [1], DPDK may exhaust internal
file descriptor limits when using smaller page sizes, which results
in inability to use system calls such as select() by user
applications.

Single file segments option stores lock files per page to ensure
that pages are deleted when there are no more users, however this
is not necessary because the processes will be holding onto the
pages anyway because of mmap(). Thus, removing pages from the
filesystem is safe even though they may be used by some other
secondary process. As a result, single file segments mode no
longer stores inordinate amounts of segment fd's, and the above
issue with fd limits is solved.

However, this will not work for legacy mem mode. For that, simply
document that using bigger page sizes is the only option.

[1] https://mails.dpdk.org/archives/dev/2019-February/124386.html

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2019-04-02 16:07:25 +02:00
.ci ci: fix arm64 config filename 2019-03-30 00:01:35 +01:00
app app/test: fix sprintf with strlcat 2019-04-02 02:36:22 +02:00
buildtools config: add static linkage of mlx dependency 2019-01-14 17:44:29 +01:00
config build: use version number from config file 2019-03-27 09:43:47 +01:00
devtools devtools: allow test build outside source directory 2019-04-01 19:03:35 +02:00
doc mem: do not use lockfiles for single file segments mode 2019-04-02 16:07:25 +02:00
drivers net/softnic: support QinQ PPPoE encapsulation 2019-03-29 20:54:36 +01:00
examples examples/distributor: detect high frequency cores 2019-04-02 02:22:32 +02:00
kernel kni: calculate MTU from mbuf size 2019-03-30 00:59:59 +01:00
lib mem: do not use lockfiles for single file segments mode 2019-04-02 16:07:25 +02:00
license fix dpdk.org URLs 2018-11-26 20:19:24 +01:00
mk build: use version number from config file 2019-03-27 09:43:47 +01:00
usertools usertools: add octeontx2 SSO and NPA PCIe devices 2019-03-27 01:24:27 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore git: ignore build directories 2019-03-13 11:57:05 +01:00
.travis.yml ci: introduce Travis builds for GitHub repositories 2019-03-26 22:31:40 +01:00
GNUmakefile test: move to app directory 2019-02-26 15:29:27 +01:00
MAINTAINERS maintainers: update for IBM POWER 2019-04-02 02:48:55 +02:00
Makefile license: use SPDX tag in root makefile 2018-01-04 22:41:38 +01:00
meson_options.txt build: use integer for max ethdev ports option 2019-03-26 23:08:09 +01:00
meson.build build: fix meson build in CI environments 2019-04-01 18:54:17 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION build: add single source of DPDK version number 2019-03-27 09:43:23 +01: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