10#ifndef _RTE_RING_RTS_H_
11#define _RTE_RING_RTS_H_
81 unsigned int esize,
unsigned int n,
unsigned int *free_space)
83 return __rte_ring_do_rts_enqueue_elem(r, obj_table, esize, n,
108 unsigned int esize,
unsigned int n,
unsigned int *available)
110 return __rte_ring_do_rts_dequeue_elem(r, obj_table, esize, n,
135 unsigned int esize,
unsigned int n,
unsigned int *free_space)
137 return __rte_ring_do_rts_enqueue_elem(r, obj_table, esize, n,
164 unsigned int esize,
unsigned int n,
unsigned int *available)
166 return __rte_ring_do_rts_dequeue_elem(r, obj_table, esize, n,
187 unsigned int n,
unsigned int *free_space)
190 sizeof(uintptr_t), n, free_space);
210 unsigned int n,
unsigned int *available)
213 sizeof(uintptr_t), n, available);
233 unsigned int n,
unsigned int *free_space)
236 sizeof(uintptr_t), n, free_space);
258 unsigned int n,
unsigned int *available)
261 sizeof(uintptr_t), n, available);
273static inline uint32_t
277 return r->rts_prod.htd_max;
298 r->rts_prod.htd_max = v;
311static inline uint32_t
315 return r->rts_cons.htd_max;
336 r->rts_cons.htd_max = v;
#define __rte_always_inline
@ RTE_RING_QUEUE_VARIABLE
static __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_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_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_always_inline unsigned int rte_ring_mc_rts_dequeue_bulk(struct rte_ring *r, void **obj_table, unsigned int n, unsigned int *available)
static __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_always_inline unsigned int rte_ring_mc_rts_dequeue_burst(struct rte_ring *r, void **obj_table, unsigned int n, unsigned int *available)
static int rte_ring_set_prod_htd_max(struct rte_ring *r, uint32_t v)
static uint32_t rte_ring_get_cons_htd_max(const struct rte_ring *r)
static __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_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 int rte_ring_set_cons_htd_max(struct rte_ring *r, uint32_t v)
static uint32_t rte_ring_get_prod_htd_max(const struct rte_ring *r)