spsc_node
struct spsc_node *node;
struct spsc_node *node;
struct spsc_node *node;
struct spsc_node queue_node;
struct spsc_node *next;
struct spsc_node *head;
static inline struct spsc_node *spsc_queue_peek(struct spsc_queue *queue)
static inline bool spsc_queue_push(struct spsc_queue *queue, struct spsc_node *node)
struct spsc_node **tail;
tail = (struct spsc_node **)atomic_long_xchg(&queue->tail, (long)&node->next);
static inline struct spsc_node *spsc_queue_pop(struct spsc_queue *queue)
struct spsc_node *next, *node;