Lines Matching refs:first
39 struct llist_node *first;
50 head->first = NULL;
60 empty = (atomic_load_acquire(&head->first) == NULL);
68 struct llist_node *first;
71 first = head->first;
72 node->next = first;
74 } while (atomic_cas_ptr(&head->first, first, node) != first);
76 return first == NULL;
80 llist_add_batch(struct llist_node *first, struct llist_node *last,
86 next = atomic_load_consume(&head->first);
88 } while (atomic_cas_ptr(&head->first, next, first) != next);
96 struct llist_node *first;
98 first = atomic_swap_ptr(&head->first, NULL);
101 return first;
107 struct llist_node *first;
110 first = atomic_load_consume(&head->first);
111 if (first == NULL)
113 } while (atomic_cas_ptr(&head->first, first, first->next)
114 != first);
116 return first;