Lines Matching refs:lock

29 #define arch_spin_unlock_wait(lock) \  argument
30 do { while (arch_spin_is_locked(lock)) cpu_relax(); } while (0)
32 #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) argument
34 static inline void arch_spin_lock(arch_spinlock_t *lock) in arch_spin_lock() argument
60 : "=&r" (lockval), "=&r" (newval), "=&r" (tmp), "+Q" (*lock) in arch_spin_lock()
61 : "Q" (lock->owner), "I" (1 << TICKET_SHIFT) in arch_spin_lock()
65 static inline int arch_spin_trylock(arch_spinlock_t *lock) in arch_spin_trylock() argument
79 : "=&r" (lockval), "=&r" (tmp), "+Q" (*lock) in arch_spin_trylock()
86 static inline void arch_spin_unlock(arch_spinlock_t *lock) in arch_spin_unlock() argument
90 : "=Q" (lock->owner) in arch_spin_unlock()
91 : "r" (lock->owner + 1) in arch_spin_unlock()
95 static inline int arch_spin_value_unlocked(arch_spinlock_t lock) in arch_spin_value_unlocked() argument
97 return lock.owner == lock.next; in arch_spin_value_unlocked()
100 static inline int arch_spin_is_locked(arch_spinlock_t *lock) in arch_spin_is_locked() argument
102 return !arch_spin_value_unlocked(READ_ONCE(*lock)); in arch_spin_is_locked()
105 static inline int arch_spin_is_contended(arch_spinlock_t *lock) in arch_spin_is_contended() argument
107 arch_spinlock_t lockval = READ_ONCE(*lock); in arch_spin_is_contended()
133 : "=&r" (tmp), "+Q" (rw->lock) in arch_write_lock()
147 : "=&r" (tmp), "+Q" (rw->lock) in arch_write_trylock()
158 : "=Q" (rw->lock) : "r" (0) : "memory"); in arch_write_unlock()
162 #define arch_write_can_lock(x) ((x)->lock == 0)
188 : "=&r" (tmp), "=&r" (tmp2), "+Q" (rw->lock) in arch_read_lock()
202 : "=&r" (tmp), "=&r" (tmp2), "+Q" (rw->lock) in arch_read_unlock()
217 : "=&r" (tmp), "+r" (tmp2), "+Q" (rw->lock) in arch_read_trylock()
225 #define arch_read_can_lock(x) ((x)->lock < 0x80000000)
227 #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) argument
228 #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) argument
230 #define arch_spin_relax(lock) cpu_relax() argument
231 #define arch_read_relax(lock) cpu_relax() argument
232 #define arch_write_relax(lock) cpu_relax() argument