24 #include <rte_compat.h> 30 #define RTE_TAILQ_STACK_NAME "RTE_STACK" 31 #define RTE_STACK_MZ_PREFIX "STK_" 33 #define RTE_STACK_NAMESIZE (RTE_MEMZONE_NAMESIZE - \ 34 sizeof(RTE_STACK_MZ_PREFIX) + 1) 36 struct rte_stack_lf_elem {
38 struct rte_stack_lf_elem *next;
41 struct rte_stack_lf_head {
42 struct rte_stack_lf_elem *top;
46 struct rte_stack_lf_list {
68 struct rte_stack_std {
86 struct rte_stack_lf stack_lf;
87 struct rte_stack_std stack_std;
95 #define RTE_STACK_F_LF 0x0001 97 #include "rte_stack_std.h" 98 #include "rte_stack_lf.h" 118 RTE_ASSERT(s != NULL);
119 RTE_ASSERT(obj_table != NULL);
122 return __rte_stack_lf_push(s, obj_table, n);
124 return __rte_stack_std_push(s, obj_table, n);
145 RTE_ASSERT(s != NULL);
146 RTE_ASSERT(obj_table != NULL);
149 return __rte_stack_lf_pop(s, obj_table, n);
151 return __rte_stack_std_pop(s, obj_table, n);
168 RTE_ASSERT(s != NULL);
171 return __rte_stack_lf_count(s);
173 return __rte_stack_std_count(s);
190 RTE_ASSERT(s != NULL);
225 struct rte_stack *__rte_experimental
238 void __rte_experimental
255 struct rte_stack * __rte_experimental
#define __rte_always_inline
static __rte_always_inline unsigned int __rte_experimental rte_stack_pop(struct rte_stack *s, void **obj_table, unsigned int n)
static __rte_always_inline unsigned int __rte_experimental rte_stack_count(struct rte_stack *s)
static __rte_always_inline unsigned int __rte_experimental rte_stack_free_count(struct rte_stack *s)
static __rte_always_inline unsigned int __rte_experimental rte_stack_push(struct rte_stack *s, void *const *obj_table, unsigned int n)
struct rte_stack *__rte_experimental rte_stack_create(const char *name, unsigned int count, int socket_id, uint32_t flags)
#define __rte_cache_aligned
struct rte_stack *__rte_experimental rte_stack_lookup(const char *name)
#define RTE_STACK_NAMESIZE
void __rte_experimental rte_stack_free(struct rte_stack *s)