Lines Matching refs:lock

48 static __always_inline int arch_spin_value_unlocked(arch_spinlock_t lock)  in arch_spin_value_unlocked()  argument
50 return lock.slock == 0; in arch_spin_value_unlocked()
53 static inline int arch_spin_is_locked(arch_spinlock_t *lock) in arch_spin_is_locked() argument
56 return !arch_spin_value_unlocked(*lock); in arch_spin_is_locked()
63 static inline unsigned long __arch_spin_trylock(arch_spinlock_t *lock) in __arch_spin_trylock() argument
77 : "r" (token), "r" (&lock->slock) in __arch_spin_trylock()
83 static inline int arch_spin_trylock(arch_spinlock_t *lock) in arch_spin_trylock() argument
85 return __arch_spin_trylock(lock) == 0; in arch_spin_trylock()
104 void splpar_spin_yield(arch_spinlock_t *lock);
105 void splpar_rw_yield(arch_rwlock_t *lock);
107 static inline void splpar_spin_yield(arch_spinlock_t *lock) {}; in splpar_spin_yield() argument
108 static inline void splpar_rw_yield(arch_rwlock_t *lock) {}; in splpar_rw_yield() argument
125 static inline void spin_yield(arch_spinlock_t *lock) in spin_yield() argument
128 splpar_spin_yield(lock); in spin_yield()
133 static inline void rw_yield(arch_rwlock_t *lock) in rw_yield() argument
136 splpar_rw_yield(lock); in rw_yield()
141 static inline void arch_spin_lock(arch_spinlock_t *lock) in arch_spin_lock() argument
144 if (likely(__arch_spin_trylock(lock) == 0)) in arch_spin_lock()
149 splpar_spin_yield(lock); in arch_spin_lock()
150 } while (unlikely(lock->slock != 0)); in arch_spin_lock()
156 void arch_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags) in arch_spin_lock_flags() argument
161 if (likely(__arch_spin_trylock(lock) == 0)) in arch_spin_lock_flags()
168 splpar_spin_yield(lock); in arch_spin_lock_flags()
169 } while (unlikely(lock->slock != 0)); in arch_spin_lock_flags()
176 static inline void arch_spin_unlock(arch_spinlock_t *lock) in arch_spin_unlock() argument
180 lock->slock = 0; in arch_spin_unlock()
220 : "r" (&rw->lock) in __arch_read_trylock()
244 : "r" (token), "r" (&rw->lock) in __arch_write_trylock()
259 } while (unlikely(rw->lock < 0)); in arch_read_lock()
273 } while (unlikely(rw->lock != 0)); in arch_write_lock()
301 : "r"(&rw->lock) in arch_read_unlock()
309 rw->lock = 0; in arch_write_unlock()
312 #define arch_spin_relax(lock) spin_yield(lock) argument
313 #define arch_read_relax(lock) rw_yield(lock) argument
314 #define arch_write_relax(lock) rw_yield(lock) argument