Lines Matching refs:head
54 struct ck_hp_fifo_entry *head;
63 fifo->head = fifo->tail = stub;
72 *stub = fifo->head;
73 fifo->head = fifo->tail = NULL;
142 struct ck_hp_fifo_entry *head, *tail, *next;
145 head = ck_pr_load_ptr(&fifo->head);
148 ck_hp_set_fence(record, 0, head);
149 if (head != ck_pr_load_ptr(&fifo->head))
152 next = ck_pr_load_ptr(&head->next);
154 if (head != ck_pr_load_ptr(&fifo->head))
157 if (head == tail) {
163 } else if (ck_pr_cas_ptr(&fifo->head, head, next) == true)
168 return head;
176 struct ck_hp_fifo_entry *head, *tail, *next;
178 head = ck_pr_load_ptr(&fifo->head);
181 ck_hp_set_fence(record, 0, head);
182 if (head != ck_pr_load_ptr(&fifo->head))
185 next = ck_pr_load_ptr(&head->next);
187 if (head != ck_pr_load_ptr(&fifo->head))
190 if (head == tail) {
196 } else if (ck_pr_cas_ptr(&fifo->head, head, next) == false)
200 return head;
203 #define CK_HP_FIFO_ISEMPTY(f) ((f)->head->next == NULL)
204 #define CK_HP_FIFO_FIRST(f) ((f)->head->next)