mempool/ring: support RTS and HTS ring modes
[dpdk.git] / doc / guides / mempool / ring.rst
index a22ca80..37c67b3 100644 (file)
@@ -12,12 +12,14 @@ and can be selected via mempool ops API:
 - ``ring_mp_mc``
 
   The underlying **rte_ring** operates in multi-thread producer,
-  multi-thread consumer sync mode.
+  multi-thread consumer sync mode. For more information please refer to:
+  :ref:`Ring_Library_MPMC_Mode`.
 
 - ``ring_sp_sc``
 
   The underlying **rte_ring** operates in single-thread producer,
-  single-thread consumer sync mode.
+  single-thread consumer sync mode. For more information please refer to:
+  :ref:`Ring_Library_SPSC_Mode`.
 
 - ``ring_sp_mc``
 
@@ -29,6 +31,22 @@ and can be selected via mempool ops API:
   The underlying **rte_ring** operates in multi-thread producer,
   single-thread consumer sync mode.
 
+- ``ring_mt_rts``
+
+  For underlying **rte_ring** both producer and consumer operate in
+  multi-thread Relaxed Tail Sync (RTS) mode. For more information please
+  refer to: :ref:`Ring_Library_MT_RTS_Mode`.
+
+- ``ring_mt_hts``
+
+  For underlying **rte_ring** both producer and consumer operate in
+  multi-thread Head-Tail Sync (HTS) mode. For more information please
+  refer to: :ref:`Ring_Library_MT_HTS_Mode`.
+
 
+For 'classic' DPDK deployments (with one thread per core) the ``ring_mp_mc``
+mode is usually the most suitable and the fastest one. For overcommitted
+scenarios (multiple threads share same set of cores) the ``ring_mt_rts`` or
+``ring_mt_hts`` modes usually provide a better alternative.
 For more information about ``rte_ring`` structure, behaviour and available
 synchronisation modes please refer to: :doc:`../prog_guide/ring_lib`.