Lines Matching refs:lock

30 #define arch_spin_unlock_wait(lock) \  argument
31 do { while (arch_spin_is_locked(lock)) cpu_relax(); } while (0)
33 #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) argument
35 static inline void arch_spin_lock(arch_spinlock_t *lock) in arch_spin_lock() argument
71 : "=&r" (lockval), "=&r" (newval), "=&r" (tmp), "+Q" (*lock) in arch_spin_lock()
72 : "Q" (lock->owner), "I" (1 << TICKET_SHIFT) in arch_spin_lock()
76 static inline int arch_spin_trylock(arch_spinlock_t *lock) in arch_spin_trylock() argument
100 : "=&r" (lockval), "=&r" (tmp), "+Q" (*lock) in arch_spin_trylock()
107 static inline void arch_spin_unlock(arch_spinlock_t *lock) in arch_spin_unlock() argument
120 : "=Q" (lock->owner), "=&r" (tmp) in arch_spin_unlock()
125 static inline int arch_spin_value_unlocked(arch_spinlock_t lock) in arch_spin_value_unlocked() argument
127 return lock.owner == lock.next; in arch_spin_value_unlocked()
130 static inline int arch_spin_is_locked(arch_spinlock_t *lock) in arch_spin_is_locked() argument
132 return !arch_spin_value_unlocked(READ_ONCE(*lock)); in arch_spin_is_locked()
135 static inline int arch_spin_is_contended(arch_spinlock_t *lock) in arch_spin_is_contended() argument
137 arch_spinlock_t lockval = READ_ONCE(*lock); in arch_spin_is_contended()
174 : "=&r" (tmp), "+Q" (rw->lock) in arch_write_lock()
195 : "=&r" (tmp), "+Q" (rw->lock) in arch_write_trylock()
207 : "=Q" (rw->lock) :: "memory"); in arch_write_unlock()
211 #define arch_write_can_lock(x) ((x)->lock == 0)
252 : "=&r" (tmp), "=&r" (tmp2), "+Q" (rw->lock) in arch_read_lock()
272 : "=&r" (tmp), "=&r" (tmp2), "+Q" (rw->lock) in arch_read_unlock()
298 : "=&r" (tmp), "=&r" (tmp2), "+Q" (rw->lock) in arch_read_trylock()
306 #define arch_read_can_lock(x) ((x)->lock < 0x80000000)
308 #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) argument
309 #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) argument
311 #define arch_spin_relax(lock) cpu_relax() argument
312 #define arch_read_relax(lock) cpu_relax() argument
313 #define arch_write_relax(lock) cpu_relax() argument