Lines Matching defs:fifo

60 ck_hp_fifo_init(struct ck_hp_fifo *fifo, struct ck_hp_fifo_entry *stub)
63 fifo->head = fifo->tail = stub;
69 ck_hp_fifo_deinit(struct ck_hp_fifo *fifo, struct ck_hp_fifo_entry **stub)
72 *stub = fifo->head;
73 fifo->head = fifo->tail = NULL;
79 struct ck_hp_fifo *fifo,
90 tail = ck_pr_load_ptr(&fifo->tail);
92 if (tail != ck_pr_load_ptr(&fifo->tail))
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);
110 struct ck_hp_fifo *fifo,
120 tail = ck_pr_load_ptr(&fifo->tail);
122 if (tail != ck_pr_load_ptr(&fifo->tail))
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);
139 struct ck_hp_fifo *fifo,
145 head = ck_pr_load_ptr(&fifo->head);
147 tail = ck_pr_load_ptr(&fifo->tail);
149 if (head != ck_pr_load_ptr(&fifo->head))
154 if (head != ck_pr_load_ptr(&fifo->head))
161 ck_pr_cas_ptr(&fifo->tail, tail, next);
163 } else if (ck_pr_cas_ptr(&fifo->head, head, next) == true)
173 struct ck_hp_fifo *fifo,
178 head = ck_pr_load_ptr(&fifo->head);
180 tail = ck_pr_load_ptr(&fifo->tail);
182 if (head != ck_pr_load_ptr(&fifo->head))
187 if (head != ck_pr_load_ptr(&fifo->head))
194 ck_pr_cas_ptr(&fifo->tail, tail, next);
196 } else if (ck_pr_cas_ptr(&fifo->head, head, next) == false)
206 #define CK_HP_FIFO_FOREACH(fifo, entry) \
207 for ((entry) = CK_HP_FIFO_FIRST(fifo); \
210 #define CK_HP_FIFO_FOREACH_SAFE(fifo, entry, T) \
211 for ((entry) = CK_HP_FIFO_FIRST(fifo); \