numam-dpdk/lib
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
..
librte_acl acl: fix compiler flags with meson and AVX2 runtime 2019-03-27 10:38:06 +01:00
librte_bbdev
librte_bitratestats
librte_bpf build: improve dependency handling 2019-02-27 12:13:54 +01:00
librte_cfgfile
librte_cmdline compat: merge compat library into EAL 2019-02-25 16:03:31 +01:00
librte_compressdev compressdev: add flag to specify where processing is done 2019-03-22 15:54:24 +01:00
librte_cryptodev cryptodev: remove XTS comment duplication 2019-03-22 15:54:24 +01:00
librte_distributor
librte_eal mem: do not use lockfiles for single file segments mode 2019-04-02 16:07:25 +02:00
librte_efd
librte_ethdev ethdev: add min/max MTU to device info 2019-03-29 18:57:42 +01:00
librte_eventdev doc: add notes about eventdev producer/consumer dependency 2019-03-15 06:46:50 +01:00
librte_flow_classify
librte_gro
librte_gso
librte_hash hash: optimize signature compare for Arm NEON 2019-03-28 19:54:21 +01:00
librte_ip_frag
librte_ipsec ipsec: support 3DES-CBC 2019-03-22 15:54:24 +01:00
librte_jobstats
librte_kni build/linux: rename macro from LINUXAPP to LINUX 2019-03-12 17:31:22 +01:00
librte_kvargs compat: merge compat library into EAL 2019-02-25 16:03:31 +01:00
librte_latencystats
librte_lpm
librte_mbuf
librte_member
librte_mempool use appropriate EAL macro for constructors 2019-03-27 23:10:57 +01:00
librte_meter meter: fix divide by zero for RFC4115 2019-03-29 20:51:25 +01:00
librte_metrics
librte_net net: add PPPoE ethertypes 2019-03-29 20:55:25 +01:00
librte_pci
librte_pdump
librte_pipeline net: add PPPoE ethertypes 2019-03-29 20:55:25 +01:00
librte_port
librte_power power: add bit for high frequency cores 2019-04-02 02:22:08 +02:00
librte_rawdev
librte_reorder
librte_ring ring: enforce reading tail before slots 2019-03-28 01:22:04 +01:00
librte_sched
librte_security
librte_table
librte_telemetry telemetry: fix mapping of statistics 2019-04-02 02:30:53 +02:00
librte_timer
librte_vhost vhost/crypto: fix parens 2019-03-29 17:25:32 +01:00
Makefile build/linux: rename macro from LINUXAPP to LINUX 2019-03-12 17:31:22 +01:00
meson.build build: reorder cmdline library after EAL 2019-02-27 12:27:58 +01:00