Lines Matching refs:prev
38 struct optimistic_spin_node *prev) in osq_wait_next() argument
49 old = prev ? prev->cpu : OSQ_UNLOCKED_VAL; in osq_wait_next()
87 struct optimistic_spin_node *prev, *next; in osq_lock() local
99 prev = decode_cpu(old); in osq_lock()
100 node->prev = prev; in osq_lock()
101 WRITE_ONCE(prev->next, node); in osq_lock()
133 if (prev->next == node && in osq_lock()
134 cmpxchg(&prev->next, node, NULL) == node) in osq_lock()
151 prev = READ_ONCE(node->prev); in osq_lock()
161 next = osq_wait_next(lock, node, prev); in osq_lock()
173 WRITE_ONCE(next->prev, prev); in osq_lock()
174 WRITE_ONCE(prev->next, next); in osq_lock()