Lines Matching refs:tail
55 struct ck_hp_fifo_entry *tail;
63 fifo->head = fifo->tail = stub;
73 fifo->head = fifo->tail = NULL;
83 struct ck_hp_fifo_entry *tail, *next;
90 tail = ck_pr_load_ptr(&fifo->tail);
91 ck_hp_set_fence(record, 0, tail);
92 if (tail != ck_pr_load_ptr(&fifo->tail))
95 next = ck_pr_load_ptr(&tail->next);
97 ck_pr_cas_ptr(&fifo->tail, tail, next);
99 } else if (ck_pr_cas_ptr(&fifo->tail->next, next, entry) == true)
104 ck_pr_cas_ptr(&fifo->tail, tail, entry);
114 struct ck_hp_fifo_entry *tail, *next;
120 tail = ck_pr_load_ptr(&fifo->tail);
121 ck_hp_set_fence(record, 0, tail);
122 if (tail != ck_pr_load_ptr(&fifo->tail))
125 next = ck_pr_load_ptr(&tail->next);
127 ck_pr_cas_ptr(&fifo->tail, tail, next);
129 } else if (ck_pr_cas_ptr(&fifo->tail->next, next, entry) == false)
133 ck_pr_cas_ptr(&fifo->tail, tail, entry);
142 struct ck_hp_fifo_entry *head, *tail, *next;
147 tail = ck_pr_load_ptr(&fifo->tail);
157 if (head == tail) {
161 ck_pr_cas_ptr(&fifo->tail, tail, next);
176 struct ck_hp_fifo_entry *head, *tail, *next;
180 tail = ck_pr_load_ptr(&fifo->tail);
190 if (head == tail) {
194 ck_pr_cas_ptr(&fifo->tail, tail, next);