Lines Matching refs:next

41 	struct ck_fifo_spsc_entry *next;  member
109 stub->next = NULL; in ck_fifo_spsc_init()
130 entry->next = NULL; in ck_fifo_spsc_enqueue()
134 ck_pr_store_ptr(&fifo->tail->next, entry); in ck_fifo_spsc_enqueue()
149 entry = ck_pr_load_ptr(&fifo->head->next); in ck_fifo_spsc_dequeue()
176 fifo->garbage = garbage->next; in ck_fifo_spsc_recycle()
184 return ck_pr_load_ptr(&head->next) == NULL; in ck_fifo_spsc_isempty()
187 #define CK_FIFO_SPSC_ISEMPTY(f) ((f)->head->next == NULL)
188 #define CK_FIFO_SPSC_FIRST(f) ((f)->head->next)
189 #define CK_FIFO_SPSC_NEXT(m) ((m)->next)
197 (entry) != NULL && ((T) = (entry)->next, 1); \
213 struct ck_fifo_mpmc_pointer next; member
228 stub->next.pointer = NULL; in ck_fifo_mpmc_init()
229 stub->next.generation = NULL; in ck_fifo_mpmc_init()
249 struct ck_fifo_mpmc_pointer tail, next, update; in ck_fifo_mpmc_enqueue() local
256 entry->next.pointer = NULL; in ck_fifo_mpmc_enqueue()
257 entry->next.generation = 0; in ck_fifo_mpmc_enqueue()
264 next.generation = ck_pr_load_ptr(&tail.pointer->next.generation); in ck_fifo_mpmc_enqueue()
266 next.pointer = ck_pr_load_ptr(&tail.pointer->next.pointer); in ck_fifo_mpmc_enqueue()
271 if (next.pointer != NULL) { in ck_fifo_mpmc_enqueue()
278 update.pointer = next.pointer; in ck_fifo_mpmc_enqueue()
287 update.generation = next.generation + 1; in ck_fifo_mpmc_enqueue()
288 if (ck_pr_cas_ptr_2(&tail.pointer->next, &next, &update) == true) in ck_fifo_mpmc_enqueue()
306 struct ck_fifo_mpmc_pointer tail, next, update; in ck_fifo_mpmc_tryenqueue() local
309 entry->next.pointer = NULL; in ck_fifo_mpmc_tryenqueue()
310 entry->next.generation = 0; in ck_fifo_mpmc_tryenqueue()
317 next.generation = ck_pr_load_ptr(&tail.pointer->next.generation); in ck_fifo_mpmc_tryenqueue()
319 next.pointer = ck_pr_load_ptr(&tail.pointer->next.pointer); in ck_fifo_mpmc_tryenqueue()
324 if (next.pointer != NULL) { in ck_fifo_mpmc_tryenqueue()
331 update.pointer = next.pointer; in ck_fifo_mpmc_tryenqueue()
341 update.generation = next.generation + 1; in ck_fifo_mpmc_tryenqueue()
342 if (ck_pr_cas_ptr_2(&tail.pointer->next, &next, &update) == false) in ck_fifo_mpmc_tryenqueue()
359 struct ck_fifo_mpmc_pointer head, tail, next, update; in ck_fifo_mpmc_dequeue() local
369 next.generation = ck_pr_load_ptr(&head.pointer->next.generation); in ck_fifo_mpmc_dequeue()
371 next.pointer = ck_pr_load_ptr(&head.pointer->next.pointer); in ck_fifo_mpmc_dequeue()
373 update.pointer = next.pointer; in ck_fifo_mpmc_dequeue()
380 if (next.pointer == NULL) in ck_fifo_mpmc_dequeue()
392 if (next.pointer == NULL) in ck_fifo_mpmc_dequeue()
396 *(void **)value = ck_pr_load_ptr(&next.pointer->value); in ck_fifo_mpmc_dequeue()
414 struct ck_fifo_mpmc_pointer head, tail, next, update; in ck_fifo_mpmc_trydequeue() local
424 next.generation = ck_pr_load_ptr(&head.pointer->next.generation); in ck_fifo_mpmc_trydequeue()
426 next.pointer = ck_pr_load_ptr(&head.pointer->next.pointer); in ck_fifo_mpmc_trydequeue()
428 update.pointer = next.pointer; in ck_fifo_mpmc_trydequeue()
435 if (next.pointer == NULL) in ck_fifo_mpmc_trydequeue()
447 if (next.pointer == NULL) in ck_fifo_mpmc_trydequeue()
451 *(void **)value = ck_pr_load_ptr(&next.pointer->value); in ck_fifo_mpmc_trydequeue()
463 #define CK_FIFO_MPMC_ISEMPTY(f) ((f)->head.pointer->next.pointer == NULL)
464 #define CK_FIFO_MPMC_FIRST(f) ((f)->head.pointer->next.pointer)
465 #define CK_FIFO_MPMC_NEXT(m) ((m)->next.pointer)
472 (entry) != NULL && ((T) = (entry)->next.pointer, 1); \