Go to file
Konstantin Ananyev e6ba4731c0 ring: introduce RTS ring mode
Introduce relaxed tail sync (RTS) mode for MT ring synchronization.
Aim to reduce stall times in case when ring is used on
overcommited cpus (multiple active threads on the same cpu).
The main difference from original MP/MC algorithm is that
tail value is increased not by every thread that finished enqueue/dequeue,
but only by the last one.
That allows threads to avoid spinning on ring tail value,
leaving actual tail value change to the last thread in the update queue.

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
2020-04-21 12:52:55 +02:00
.ci ci: reduce examples in static builds 2020-04-17 23:34:08 +02:00
app ring: prepare ring to allow new sync schemes 2020-04-21 11:34:09 +02:00
buildtools eal: move common header files 2020-03-31 13:08:55 +02:00
config build: add global libatomic dependency for 32-bit clang 2020-04-21 11:34:09 +02:00
devtools ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00
doc ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00
drivers build: add global libatomic dependency for 32-bit clang 2020-04-21 11:34:09 +02:00
examples build: add global libatomic dependency for 32-bit clang 2020-04-21 11:34:09 +02:00
kernel eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
lib ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00
license eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
mk build: disable experimental API check internally 2020-04-14 16:22:34 +02:00
usertools usertools: fix telemetry client with python 3 2020-02-16 22:23:20 +01: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 doc: add vDPA features table 2020-01-14 00:09:33 +01:00
.travis.yml ci: fix telemetry dependency in Travis 2020-04-10 10:03:22 +02:00
ABI_VERSION version: 20.05-rc0 2020-02-27 12:02:19 +01:00
GNUmakefile test: move to app directory 2019-02-26 15:29:27 +01:00
MAINTAINERS doc: remove empty columns from NIC features matrix 2020-04-16 23:55:49 +02:00
Makefile remove blank lines at end of file 2019-11-26 00:12:08 +01:00
meson_options.txt net/mlx: add static ibverbs linkage with meson 2020-02-14 12:42:13 +01:00
meson.build eal: move OS-specific sub-directories 2020-03-31 13:08:55 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 20.05-rc0 2020-02-27 12:02:19 +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