Lines Matching refs:old
19 _raw_compare_and_swap(unsigned int *lock, unsigned int old, unsigned int new) in _raw_compare_and_swap() argument
21 unsigned int old_expected = old; in _raw_compare_and_swap()
25 : "=d" (old), "=Q" (*lock) in _raw_compare_and_swap()
26 : "0" (old), "d" (new), "Q" (*lock) in _raw_compare_and_swap()
28 return old == old_expected; in _raw_compare_and_swap()
141 unsigned int old = ACCESS_ONCE(rw->lock); in arch_read_trylock_once() local
142 return likely((int) old >= 0 && in arch_read_trylock_once()
143 _raw_compare_and_swap(&rw->lock, old, old + 1)); in arch_read_trylock_once()
148 unsigned int old = ACCESS_ONCE(rw->lock); in arch_write_trylock_once() local
149 return likely(old == 0 && in arch_write_trylock_once()
192 unsigned int old; in arch_read_lock() local
194 old = __RAW_LOCK(&rw->lock, 1, __RAW_OP_ADD); in arch_read_lock()
195 if ((int) old < 0) in arch_read_lock()
206 unsigned int old; in arch_write_lock() local
208 old = __RAW_LOCK(&rw->lock, 0x80000000, __RAW_OP_OR); in arch_write_lock()
209 if (old != 0) in arch_write_lock()
210 _raw_write_lock_wait(rw, old); in arch_write_lock()
233 unsigned int old; in arch_read_unlock() local
236 old = ACCESS_ONCE(rw->lock); in arch_read_unlock()
237 } while (!_raw_compare_and_swap(&rw->lock, old, old - 1)); in arch_read_unlock()