10 #ifndef _RTE_RING_CORE_H_ 11 #define _RTE_RING_CORE_H_ 31 #include <rte_config.h> 40 #define RTE_TAILQ_RING_NAME "RTE_RING" 50 #define RTE_RING_MZ_PREFIX "RG_" 52 #define RTE_RING_NAMESIZE (RTE_MEMZONE_NAMESIZE - \ 53 sizeof(RTE_RING_MZ_PREFIX) + 1) 69 volatile RTE_ATOMIC(uint32_t) head;
70 volatile RTE_ATOMIC(uint32_t) tail;
79 union __rte_ring_rts_poscnt {
88 struct rte_ring_rts_headtail {
89 volatile union __rte_ring_rts_poscnt tail;
92 volatile union __rte_ring_rts_poscnt head;
95 union __rte_ring_hts_pos {
99 RTE_ATOMIC(uint32_t) head;
100 RTE_ATOMIC(uint32_t) tail;
104 struct rte_ring_hts_headtail {
105 volatile union __rte_ring_hts_pos ht;
134 struct rte_ring_hts_headtail hts_prod;
135 struct rte_ring_rts_headtail rts_prod;
143 struct rte_ring_hts_headtail hts_cons;
144 struct rte_ring_rts_headtail rts_cons;
150 #define RING_F_SP_ENQ 0x0001 151 #define RING_F_SC_DEQ 0x0002 160 #define RING_F_EXACT_SZ 0x0004 161 #define RTE_RING_SZ_MASK (0x7fffffffU) 163 #define RING_F_MP_RTS_ENQ 0x0008 164 #define RING_F_MC_RTS_DEQ 0x0010 166 #define RING_F_MP_HTS_ENQ 0x0020 167 #define RING_F_MC_HTS_DEQ 0x0040
const struct rte_memzone * memzone
char name [RTE_RING_NAMESIZE] __rte_cache_aligned
#define RTE_RING_NAMESIZE
enum rte_ring_sync_type sync_type