Lines Matching defs:node
65 static inline bool spsc_queue_push(struct spsc_queue *queue, struct spsc_node *node)
69 node->next = NULL;
73 tail = (struct spsc_node **)atomic_long_xchg(&queue->tail, (long)&node->next);
74 WRITE_ONCE(*tail, node);
78 * In case of first element verify new node will be visible to the consumer
91 struct spsc_node *next, *node;
96 node = READ_ONCE(queue->head);
98 if (!node)
101 next = READ_ONCE(node->next);
108 (long)&node->next, (long) &queue->head) != (long)&node->next) {
112 } while (unlikely(!(queue->head = READ_ONCE(node->next))));
117 return node;