Lines Matching refs:head
22 * @head: the head for your lock-less list
27 struct llist_head *head)
29 struct llist_node *first = READ_ONCE(head->first);
33 } while (!try_cmpxchg(&head->first, &first, new_first));
41 * @head: the head for your lock-less list
49 * llist_add) sequence in another user may change @head->first->next,
50 * but keep @head->first. If multiple consumers are needed, please
53 struct llist_node *llist_del_first(struct llist_head *head)
57 entry = smp_load_acquire(&head->first);
62 } while (!try_cmpxchg(&head->first, &entry, next));
70 * @head: the head for your lock-less list
73 * If head of the list is given entry, delete and return %true else
79 bool llist_del_first_this(struct llist_head *head,
85 entry = smp_load_acquire(&head->first);
90 } while (!try_cmpxchg(&head->first, &entry, next));
98 * @head: first item of the list to be reversed
103 struct llist_node *llist_reverse_order(struct llist_node *head)
107 while (head) {
108 struct llist_node *tmp = head;
109 head = head->next;