Lines Matching refs:prev
44 struct optimistic_spin_node *prev) in osq_wait_next() argument
55 old = prev ? prev->cpu : OSQ_UNLOCKED_VAL; in osq_wait_next()
93 struct optimistic_spin_node *prev, *next; in osq_lock() local
111 prev = decode_cpu(old); in osq_lock()
112 node->prev = prev; in osq_lock()
126 WRITE_ONCE(prev->next, node); in osq_lock()
143 if (need_resched() || vcpu_is_preempted(node_cpu(node->prev))) in osq_lock()
160 if (prev->next == node && in osq_lock()
161 cmpxchg(&prev->next, node, NULL) == node) in osq_lock()
178 prev = READ_ONCE(node->prev); in osq_lock()
188 next = osq_wait_next(lock, node, prev); in osq_lock()
200 WRITE_ONCE(next->prev, prev); in osq_lock()
201 WRITE_ONCE(prev->next, next); in osq_lock()