numam-dpdk/lib/librte_ring
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
..
Makefile ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00
meson.build ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00
rte_ring_c11_mem.h
rte_ring_core.h ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00
rte_ring_elem.h ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00
rte_ring_generic.h ring: enforce reading tail before slots 2019-03-28 01:22:04 +01:00
rte_ring_rts_c11_mem.h ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00
rte_ring_rts.h ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00
rte_ring_version.map ring: support configurable element size 2020-01-19 19:32:48 +01:00
rte_ring.c ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00
rte_ring.h ring: introduce RTS ring mode 2020-04-21 12:52:55 +02:00