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 return __sync_bool_compare_and_swap(lock, old, new); in _raw_compare_and_swap()
133 unsigned int old = ACCESS_ONCE(rw->lock); in arch_read_trylock_once() local
134 return likely((int) old >= 0 && in arch_read_trylock_once()
135 _raw_compare_and_swap(&rw->lock, old, old + 1)); in arch_read_trylock_once()
140 unsigned int old = ACCESS_ONCE(rw->lock); in arch_write_trylock_once() local
141 return likely(old == 0 && in arch_write_trylock_once()
183 unsigned int old; in arch_read_lock() local
185 old = __RAW_LOCK(&rw->lock, 1, __RAW_OP_ADD); in arch_read_lock()
186 if ((int) old < 0) in arch_read_lock()
197 unsigned int old; in arch_write_lock() local
199 old = __RAW_LOCK(&rw->lock, 0x80000000, __RAW_OP_OR); in arch_write_lock()
200 if (old != 0) in arch_write_lock()
201 _raw_write_lock_wait(rw, old); in arch_write_lock()
224 unsigned int old; in arch_read_unlock() local
227 old = ACCESS_ONCE(rw->lock); in arch_read_unlock()
228 } while (!_raw_compare_and_swap(&rw->lock, old, old - 1)); in arch_read_unlock()