Lines Matching full:next
80 mpsc_ptr_t next; member
104 .next = NULL, \
117 mpsc_ptr_set(q->stub.next, NULL); in mpsc_init()
131 mpsc_ptr_set(n->next, NULL); in mpsc_push()
135 mpsc_ptr_set(prev->next, n); in mpsc_push()
149 struct mpsc_node *next = (struct mpsc_node *)mpsc_ptr_get(tail->next); in mpsc_pop() local
153 if (next == NULL) { in mpsc_pop()
157 q->tail = next; in mpsc_pop()
158 tail = next; in mpsc_pop()
159 next = (struct mpsc_node *)mpsc_ptr_get(next->next); in mpsc_pop()
162 /* If next is non-NULL then a valid node is found, return it */ in mpsc_pop()
163 if (next != NULL) { in mpsc_pop()
164 q->tail = next; in mpsc_pop()
170 /* If next is NULL, and the tail != HEAD then the queue has pending in mpsc_pop()
179 next = (struct mpsc_node *)mpsc_ptr_get(tail->next); in mpsc_pop()
181 if (next != NULL) { in mpsc_pop()
182 q->tail = next; in mpsc_pop()