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()
144 vcpu_is_preempted(node_cpu(node->prev)))) in osq_lock()
161 if (data_race(prev->next) == node && in osq_lock()
162 cmpxchg(&prev->next, node, NULL) == node) in osq_lock()
179 prev = READ_ONCE(node->prev); in osq_lock()
189 next = osq_wait_next(lock, node, prev); in osq_lock()
201 WRITE_ONCE(next->prev, prev); in osq_lock()
202 WRITE_ONCE(prev->next, next); in osq_lock()