Lines Matching defs:lock
11 extern void native_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
12 extern void __pv_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
13 extern void __pv_queued_spin_unlock(struct qspinlock *lock);
15 static __always_inline void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val)
18 native_queued_spin_lock_slowpath(lock, val);
20 __pv_queued_spin_lock_slowpath(lock, val);
24 static inline void queued_spin_unlock(struct qspinlock *lock)
27 smp_store_release(&lock->locked, 0);
29 __pv_queued_spin_unlock(lock);
33 extern void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
36 static __always_inline void queued_spin_lock(struct qspinlock *lock)
40 if (likely(atomic_try_cmpxchg_lock(&lock->val, &val, _Q_LOCKED_VAL)))
43 queued_spin_lock_slowpath(lock, val);
49 static __always_inline int queued_spin_is_locked(struct qspinlock *lock)
57 return atomic_read(&lock->val);