Home
last modified time | relevance | path

Searched refs:qspinlock (Results 1 – 9 of 9) sorted by relevance

/linux-4.4.14/arch/x86/include/asm/
Dqspinlock.h15 static inline void native_queued_spin_unlock(struct qspinlock *lock) in native_queued_spin_unlock()
21 extern void native_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
23 extern void __pv_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
24 extern void __raw_callee_save___pv_queued_spin_unlock(struct qspinlock *lock);
26 static inline void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val) in queued_spin_lock_slowpath()
31 static inline void queued_spin_unlock(struct qspinlock *lock) in queued_spin_unlock()
36 static inline void queued_spin_unlock(struct qspinlock *lock) in queued_spin_unlock()
44 static inline bool virt_spin_lock(struct qspinlock *lock) in virt_spin_lock()
Dparavirt_types.h339 struct qspinlock;
343 void (*queued_spin_lock_slowpath)(struct qspinlock *lock, u32 val);
Dparavirt.h693 static __always_inline void pv_queued_spin_lock_slowpath(struct qspinlock *lock, in pv_queued_spin_lock_slowpath()
699 static __always_inline void pv_queued_spin_unlock(struct qspinlock *lock) in pv_queued_spin_unlock()
/linux-4.4.14/include/asm-generic/
Dqspinlock.h28 static __always_inline int queued_spin_is_locked(struct qspinlock *lock) in queued_spin_is_locked()
66 static __always_inline int queued_spin_value_unlocked(struct qspinlock lock) in queued_spin_value_unlocked()
76 static __always_inline int queued_spin_is_contended(struct qspinlock *lock) in queued_spin_is_contended()
85 static __always_inline int queued_spin_trylock(struct qspinlock *lock) in queued_spin_trylock()
93 extern void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
99 static __always_inline void queued_spin_lock(struct qspinlock *lock) in queued_spin_lock()
114 static __always_inline void queued_spin_unlock(struct qspinlock *lock) in queued_spin_unlock()
131 static inline void queued_spin_unlock_wait(struct qspinlock *lock) in queued_spin_unlock_wait()
140 static __always_inline bool virt_spin_lock(struct qspinlock *lock) in virt_spin_lock()
Dqspinlock_types.h31 typedef struct qspinlock { struct
/linux-4.4.14/kernel/locking/
Dqspinlock_paravirt.h60 struct qspinlock *lock;
99 static struct qspinlock **pv_hash(struct qspinlock *lock, struct pv_node *node) in pv_hash()
123 static struct pv_node *pv_unhash(struct qspinlock *lock) in pv_unhash()
218 static void pv_kick_node(struct qspinlock *lock, struct mcs_spinlock *node) in pv_kick_node()
248 static void pv_wait_head(struct qspinlock *lock, struct mcs_spinlock *node) in pv_wait_head()
252 struct qspinlock **lp = NULL; in pv_wait_head()
260 lp = (struct qspinlock **)1; in pv_wait_head()
314 __visible void __pv_queued_spin_unlock(struct qspinlock *lock) in __pv_queued_spin_unlock()
Dqspinlock.c158 static __always_inline void clear_pending_set_locked(struct qspinlock *lock) in clear_pending_set_locked()
175 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail()
190 static __always_inline void clear_pending_set_locked(struct qspinlock *lock) in clear_pending_set_locked()
205 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail()
227 static __always_inline void set_locked(struct qspinlock *lock) in set_locked()
242 static __always_inline void __pv_kick_node(struct qspinlock *lock, in __pv_kick_node()
244 static __always_inline void __pv_wait_head(struct qspinlock *lock, in __pv_wait_head()
281 void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val) in queued_spin_lock_slowpath()
DMakefile20 obj-$(CONFIG_QUEUED_SPINLOCKS) += qspinlock.o
/linux-4.4.14/arch/x86/kernel/
Dparavirt-spinlocks.c12 __visible void __native_queued_spin_unlock(struct qspinlock *lock) in __native_queued_spin_unlock()