Lines Matching refs:entry
54 ck_stack_push_upmc(struct ck_stack *target, struct ck_stack_entry *entry) in ck_stack_push_upmc() argument
59 entry->next = stack; in ck_stack_push_upmc()
62 while (ck_pr_cas_ptr_value(&target->head, stack, entry, &stack) == false) { in ck_stack_push_upmc()
63 entry->next = stack; in ck_stack_push_upmc()
78 ck_stack_trypush_upmc(struct ck_stack *target, struct ck_stack_entry *entry) in ck_stack_trypush_upmc() argument
83 entry->next = stack; in ck_stack_trypush_upmc()
86 return ck_pr_cas_ptr(&target->head, stack, entry); in ck_stack_trypush_upmc()
98 struct ck_stack_entry *entry, *next; in ck_stack_pop_upmc() local
100 entry = ck_pr_load_ptr(&target->head); in ck_stack_pop_upmc()
101 if (entry == NULL) in ck_stack_pop_upmc()
105 next = entry->next; in ck_stack_pop_upmc()
106 while (ck_pr_cas_ptr_value(&target->head, entry, next, &entry) == false) { in ck_stack_pop_upmc()
107 if (entry == NULL) in ck_stack_pop_upmc()
111 next = entry->next; in ck_stack_pop_upmc()
114 return entry; in ck_stack_pop_upmc()
129 struct ck_stack_entry *entry; in ck_stack_trypop_upmc() local
131 entry = ck_pr_load_ptr(&target->head); in ck_stack_trypop_upmc()
132 if (entry == NULL) in ck_stack_trypop_upmc()
136 if (ck_pr_cas_ptr(&target->head, entry, entry->next) == true) { in ck_stack_trypop_upmc()
137 *r = entry; in ck_stack_trypop_upmc()
153 struct ck_stack_entry *entry; in ck_stack_batch_pop_upmc() local
155 entry = ck_pr_fas_ptr(&target->head, NULL); in ck_stack_batch_pop_upmc()
157 return entry; in ck_stack_batch_pop_upmc()
167 ck_stack_push_mpmc(struct ck_stack *target, struct ck_stack_entry *entry) in ck_stack_push_mpmc() argument
170 ck_stack_push_upmc(target, entry); in ck_stack_push_mpmc()
181 ck_stack_trypush_mpmc(struct ck_stack *target, struct ck_stack_entry *entry) in ck_stack_trypush_mpmc() argument
184 return ck_stack_trypush_upmc(target, entry); in ck_stack_trypush_mpmc()
273 ck_stack_push_mpnc(struct ck_stack *target, struct ck_stack_entry *entry) in ck_stack_push_mpnc() argument
277 entry->next = NULL; in ck_stack_push_mpnc()
279 stack = ck_pr_fas_ptr(&target->head, entry); in ck_stack_push_mpnc()
280 ck_pr_store_ptr(&entry->next, stack); in ck_stack_push_mpnc()
291 ck_stack_push_spnc(struct ck_stack *target, struct ck_stack_entry *entry) in ck_stack_push_spnc() argument
294 entry->next = target->head; in ck_stack_push_spnc()
295 target->head = entry; in ck_stack_push_spnc()
348 #define CK_STACK_FOREACH(stack, entry) \ argument
349 for ((entry) = CK_STACK_FIRST(stack); \
350 (entry) != NULL; \
351 (entry) = CK_STACK_NEXT(entry))
352 #define CK_STACK_FOREACH_SAFE(stack, entry, T) \ argument
353 for ((entry) = CK_STACK_FIRST(stack); \
354 (entry) != NULL && ((T) = (entry)->next, 1); \
355 (entry) = (T))