Lines Matching full:position
89 CK_SPINLOCK_TICKET_TYPE request, position; in ck_spinlock_ticket_locked() local
92 position = request & CK_SPINLOCK_TICKET_MASK; in ck_spinlock_ticket_locked()
96 return request != position; in ck_spinlock_ticket_locked()
102 CK_SPINLOCK_TICKET_TYPE request, position; in ck_spinlock_ticket_lock() local
108 position = request & CK_SPINLOCK_TICKET_MASK; in ck_spinlock_ticket_lock()
111 while (request != position) { in ck_spinlock_ticket_lock()
113 position = CK_SPINLOCK_TICKET_LOAD(&ticket->value) & in ck_spinlock_ticket_lock()
124 CK_SPINLOCK_TICKET_TYPE request, position; in ck_spinlock_ticket_lock_pb() local
131 position = request & CK_SPINLOCK_TICKET_MASK; in ck_spinlock_ticket_lock_pb()
134 while (request != position) { in ck_spinlock_ticket_lock_pb()
136 position = CK_SPINLOCK_TICKET_LOAD(&ticket->value) & in ck_spinlock_ticket_lock_pb()
139 backoff = (request - position) & CK_SPINLOCK_TICKET_MASK; in ck_spinlock_ticket_lock_pb()
151 CK_SPINLOCK_TICKET_TYPE snapshot, request, position; in ck_spinlock_ticket_trylock() local
154 position = snapshot & CK_SPINLOCK_TICKET_MASK; in ck_spinlock_ticket_trylock()
157 if (position != request) in ck_spinlock_ticket_trylock()
193 unsigned int position; member
197 #define CK_SPINLOCK_TICKET_INITIALIZER {.next = 0, .position = 0}
204 ticket->position = 0; in ck_spinlock_ticket_init()
215 r = ck_pr_load_uint(&ticket->position) != in ck_spinlock_ticket_locked()
232 * our position counter does not overflow. in ck_spinlock_ticket_lock()
234 while (ck_pr_load_uint(&ticket->position) != request) in ck_spinlock_ticket_lock()
245 unsigned int request, position; in ck_spinlock_ticket_lock_pb() local
250 position = ck_pr_load_uint(&ticket->position); in ck_spinlock_ticket_lock_pb()
251 if (position == request) in ck_spinlock_ticket_lock_pb()
254 backoff = request - position; in ck_spinlock_ticket_lock_pb()
282 update = ck_pr_load_uint(&ticket->position); in ck_spinlock_ticket_unlock()
283 ck_pr_store_uint(&ticket->position, update + 1); in ck_spinlock_ticket_unlock()