Lines Matching refs:next

41 	struct ck_fifo_spsc_entry *next;
109 stub->next = NULL;
130 entry->next = NULL;
132 /* If stub->next is visible, guarantee that entry is consistent. */
134 ck_pr_store_ptr(&fifo->tail->next, entry);
149 entry = ck_pr_load_ptr(&fifo->head->next);
176 fifo->garbage = garbage->next;
184 return ck_pr_load_ptr(&head->next) == NULL;
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;
228 stub->next.pointer = NULL;
229 stub->next.generation = NULL;
249 struct ck_fifo_mpmc_pointer tail, next, update;
256 entry->next.pointer = NULL;
257 entry->next.generation = 0;
264 next.generation = ck_pr_load_ptr(&tail.pointer->next.generation);
266 next.pointer = ck_pr_load_ptr(&tail.pointer->next.pointer);
271 if (next.pointer != NULL) {
274 * it needs to be forwarded to the next entry. This
278 update.pointer = next.pointer;
287 update.generation = next.generation + 1;
288 if (ck_pr_cas_ptr_2(&tail.pointer->next, &next, &update) == true)
306 struct ck_fifo_mpmc_pointer tail, next, update;
309 entry->next.pointer = NULL;
310 entry->next.generation = 0;
317 next.generation = ck_pr_load_ptr(&tail.pointer->next.generation);
319 next.pointer = ck_pr_load_ptr(&tail.pointer->next.pointer);
324 if (next.pointer != NULL) {
327 * it needs to be forwarded to the next entry. This
331 update.pointer = next.pointer;
341 update.generation = next.generation + 1;
342 if (ck_pr_cas_ptr_2(&tail.pointer->next, &next, &update) == false)
359 struct ck_fifo_mpmc_pointer head, tail, next, update;
369 next.generation = ck_pr_load_ptr(&head.pointer->next.generation);
371 next.pointer = ck_pr_load_ptr(&head.pointer->next.pointer);
373 update.pointer = next.pointer;
380 if (next.pointer == NULL)
392 if (next.pointer == NULL)
396 *(void **)value = ck_pr_load_ptr(&next.pointer->value);
398 /* Forward the head pointer to the next entry. */
414 struct ck_fifo_mpmc_pointer head, tail, next, update;
424 next.generation = ck_pr_load_ptr(&head.pointer->next.generation);
426 next.pointer = ck_pr_load_ptr(&head.pointer->next.pointer);
428 update.pointer = next.pointer;
435 if (next.pointer == NULL)
447 if (next.pointer == NULL)
451 *(void **)value = ck_pr_load_ptr(&next.pointer->value);
453 /* Forward the head pointer to the next entry. */
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); \