1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright(c) 2020 Intel Corporation. 3 4Ring Mempool Driver 5=================== 6 7**rte_mempool_ring** is a pure software mempool driver based on the 8``rte_ring`` DPDK library. This is a default mempool driver. 9The following modes of operation are available for the ring mempool driver 10and can be selected via mempool ops API: 11 12- ``ring_mp_mc`` 13 14 The underlying **rte_ring** operates in multi-thread producer, 15 multi-thread consumer sync mode. For more information please refer to: 16 :ref:`Ring_Library_MPMC_Mode`. 17 18- ``ring_sp_sc`` 19 20 The underlying **rte_ring** operates in single-thread producer, 21 single-thread consumer sync mode. For more information please refer to: 22 :ref:`Ring_Library_SPSC_Mode`. 23 24- ``ring_sp_mc`` 25 26 The underlying **rte_ring** operates in single-thread producer, 27 multi-thread consumer sync mode. 28 29- ``ring_mp_sc`` 30 31 The underlying **rte_ring** operates in multi-thread producer, 32 single-thread consumer sync mode. 33 34- ``ring_mt_rts`` 35 36 For underlying **rte_ring** both producer and consumer operate in 37 multi-thread Relaxed Tail Sync (RTS) mode. For more information please 38 refer to: :ref:`Ring_Library_MT_RTS_Mode`. 39 40- ``ring_mt_hts`` 41 42 For underlying **rte_ring** both producer and consumer operate in 43 multi-thread Head-Tail Sync (HTS) mode. For more information please 44 refer to: :ref:`Ring_Library_MT_HTS_Mode`. 45 46 47For 'classic' DPDK deployments (with one thread per core) the ``ring_mp_mc`` 48mode is usually the most suitable and the fastest one. For overcommitted 49scenarios (multiple threads share same set of cores) the ``ring_mt_rts`` or 50``ring_mt_hts`` modes usually provide a better alternative. 51For more information about ``rte_ring`` structure, behaviour and available 52synchronisation modes please refer to: :doc:`../prog_guide/ring_lib`. 53