10 #ifndef _RTE_RING_GCC_PVT_H_ 11 #define _RTE_RING_GCC_PVT_H_ 53 uint32_t *old_head, uint32_t *new_head, uint32_t *entries)
69 *entries =
capacity + s->tail - *old_head;
78 *new_head = *old_head + n;
113 uint32_t *old_head, uint32_t *new_head, uint32_t *entries)
115 unsigned int max = n;
127 __atomic_thread_fence(__ATOMIC_ACQUIRE);
135 *entries = (
capacity + s->tail - *old_head);
145 *new_head = *old_head + n;
147 success = __sync_bool_compare_and_swap(
148 (uint32_t *)(uintptr_t)&d->head,
149 *old_head, *new_head);
static void rte_smp_rmb(void)
#define __rte_always_inline