10 #ifndef _RTE_RING_RTS_H_
11 #define _RTE_RING_RTS_H_
83 unsigned int esize,
unsigned int n,
unsigned int *free_space)
85 return __rte_ring_do_rts_enqueue_elem(r, obj_table, esize, n,
111 unsigned int esize,
unsigned int n,
unsigned int *available)
113 return __rte_ring_do_rts_dequeue_elem(r, obj_table, esize, n,
139 unsigned int esize,
unsigned int n,
unsigned int *free_space)
141 return __rte_ring_do_rts_enqueue_elem(r, obj_table, esize, n,
169 unsigned int esize,
unsigned int n,
unsigned int *available)
171 return __rte_ring_do_rts_dequeue_elem(r, obj_table, esize, n,
193 unsigned int n,
unsigned int *free_space)
196 sizeof(uintptr_t), n, free_space);
217 unsigned int n,
unsigned int *available)
220 sizeof(uintptr_t), n, available);
241 unsigned int n,
unsigned int *free_space)
244 sizeof(uintptr_t), n, free_space);
267 unsigned int n,
unsigned int *available)
270 sizeof(uintptr_t), n, available);
283 static inline uint32_t
286 if (r->prod.
sync_type == RTE_RING_SYNC_MT_RTS)
287 return r->rts_prod.htd_max;
306 if (r->prod.
sync_type != RTE_RING_SYNC_MT_RTS)
309 r->rts_prod.htd_max = v;
323 static inline uint32_t
326 if (r->cons.
sync_type == RTE_RING_SYNC_MT_RTS)
327 return r->rts_cons.htd_max;
346 if (r->cons.
sync_type != RTE_RING_SYNC_MT_RTS)
349 r->rts_cons.htd_max = v;
static __rte_experimental __rte_always_inline unsigned int rte_ring_mc_rts_dequeue_bulk(struct rte_ring *r, void **obj_table, unsigned int n, unsigned int *available)
#define __rte_always_inline
static __rte_experimental __rte_always_inline unsigned int rte_ring_mc_rts_dequeue_burst_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_experimental int rte_ring_set_cons_htd_max(struct rte_ring *r, uint32_t v)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mc_rts_dequeue_burst(struct rte_ring *r, void **obj_table, unsigned int n, unsigned int *available)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mc_rts_dequeue_bulk_elem(struct rte_ring *r, void *obj_table, unsigned int esize, unsigned int n, unsigned int *available)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mp_rts_enqueue_burst_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_experimental int rte_ring_set_prod_htd_max(struct rte_ring *r, uint32_t v)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mp_rts_enqueue_bulk_elem(struct rte_ring *r, const void *obj_table, unsigned int esize, unsigned int n, unsigned int *free_space)
static __rte_experimental __rte_always_inline unsigned int rte_ring_mp_rts_enqueue_bulk(struct rte_ring *r, void *const *obj_table, unsigned int n, unsigned int *free_space)
static __rte_experimental uint32_t rte_ring_get_cons_htd_max(const struct rte_ring *r)
enum rte_ring_sync_type sync_type
static __rte_experimental __rte_always_inline unsigned int rte_ring_mp_rts_enqueue_burst(struct rte_ring *r, void *const *obj_table, unsigned int n, unsigned int *free_space)
static __rte_experimental uint32_t rte_ring_get_prod_htd_max(const struct rte_ring *r)