Home
last modified time | relevance | path

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

/Linux-v5.10/arch/x86/include/asm/
Dqspinlock.h14 static __always_inline u32 queued_fetch_set_pending_acquire(struct qspinlock *lock) in queued_fetch_set_pending_acquire()
31 extern void native_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
33 extern void __pv_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
34 extern void __raw_callee_save___pv_queued_spin_unlock(struct qspinlock *lock);
44 static inline void native_queued_spin_unlock(struct qspinlock *lock) in native_queued_spin_unlock()
49 static inline void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val) in queued_spin_lock_slowpath()
54 static inline void queued_spin_unlock(struct qspinlock *lock) in queued_spin_unlock()
87 static inline bool virt_spin_lock(struct qspinlock *lock) in virt_spin_lock()
Dqspinlock_paravirt.h65 extern void __pv_queued_spin_unlock(struct qspinlock *lock);
Dparavirt.h29 __visible void __native_queued_spin_unlock(struct qspinlock *lock);
551 static __always_inline void pv_queued_spin_lock_slowpath(struct qspinlock *lock, in pv_queued_spin_lock_slowpath()
557 static __always_inline void pv_queued_spin_unlock(struct qspinlock *lock) in pv_queued_spin_unlock()
577 void __raw_callee_save___native_queued_spin_unlock(struct qspinlock *lock);
Dparavirt_types.h291 struct qspinlock;
294 void (*queued_spin_lock_slowpath)(struct qspinlock *lock, u32 val);
/Linux-v5.10/arch/powerpc/include/asm/
Dqspinlock.h11 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) in queued_spin_lock_slowpath()
24 static inline void queued_spin_unlock(struct qspinlock *lock) in queued_spin_unlock()
33 extern void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
36 static __always_inline void queued_spin_lock(struct qspinlock *lock) in queued_spin_lock()
49 static __always_inline int queued_spin_is_locked(struct qspinlock *lock) in queued_spin_is_locked()
/Linux-v5.10/include/asm-generic/
Dqspinlock.h22 static __always_inline int queued_spin_is_locked(struct qspinlock *lock) in queued_spin_is_locked()
42 static __always_inline int queued_spin_value_unlocked(struct qspinlock lock) in queued_spin_value_unlocked()
52 static __always_inline int queued_spin_is_contended(struct qspinlock *lock) in queued_spin_is_contended()
61 static __always_inline int queued_spin_trylock(struct qspinlock *lock) in queued_spin_trylock()
71 extern void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
78 static __always_inline void queued_spin_lock(struct qspinlock *lock) in queued_spin_lock()
94 static __always_inline void queued_spin_unlock(struct qspinlock *lock) in queued_spin_unlock()
104 static __always_inline bool virt_spin_lock(struct qspinlock *lock) in virt_spin_lock()
Dqspinlock_types.h14 typedef struct qspinlock { struct
/Linux-v5.10/kernel/locking/
Dqspinlock_paravirt.h81 static inline bool pv_hybrid_queued_unfair_trylock(struct qspinlock *lock) in pv_hybrid_queued_unfair_trylock()
109 static __always_inline void set_pending(struct qspinlock *lock) in set_pending()
119 static __always_inline int trylock_clear_pending(struct qspinlock *lock) in trylock_clear_pending()
126 static __always_inline void set_pending(struct qspinlock *lock) in set_pending()
131 static __always_inline int trylock_clear_pending(struct qspinlock *lock) in trylock_clear_pending()
172 struct qspinlock *lock;
212 static struct qspinlock **pv_hash(struct qspinlock *lock, struct pv_node *node) in pv_hash()
239 static struct pv_node *pv_unhash(struct qspinlock *lock) in pv_unhash()
360 static void pv_kick_node(struct qspinlock *lock, struct mcs_spinlock *node) in pv_kick_node()
403 pv_wait_head_or_lock(struct qspinlock *lock, struct mcs_spinlock *node) in pv_wait_head_or_lock()
[all …]
Dqspinlock.c148 static __always_inline void clear_pending(struct qspinlock *lock) in clear_pending()
161 static __always_inline void clear_pending_set_locked(struct qspinlock *lock) in clear_pending_set_locked()
176 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail()
194 static __always_inline void clear_pending(struct qspinlock *lock) in clear_pending()
205 static __always_inline void clear_pending_set_locked(struct qspinlock *lock) in clear_pending_set_locked()
220 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail()
249 static __always_inline u32 queued_fetch_set_pending_acquire(struct qspinlock *lock) in queued_fetch_set_pending_acquire()
261 static __always_inline void set_locked(struct qspinlock *lock) in set_locked()
275 static __always_inline void __pv_kick_node(struct qspinlock *lock, in __pv_kick_node()
277 static __always_inline u32 __pv_wait_head_or_lock(struct qspinlock *lock, in __pv_wait_head_or_lock()
[all …]
DMakefile26 obj-$(CONFIG_QUEUED_SPINLOCKS) += qspinlock.o
/Linux-v5.10/arch/mips/include/asm/
Dspinlock.h22 static inline void queued_spin_unlock(struct qspinlock *lock) in queued_spin_unlock()
DKbuild13 generic-y += qspinlock.h
/Linux-v5.10/arch/x86/kernel/
Dparavirt-spinlocks.c12 __visible void __native_queued_spin_unlock(struct qspinlock *lock) in __native_queued_spin_unlock()
/Linux-v5.10/arch/arm64/include/asm/
DKbuild6 generic-y += qspinlock.h
/Linux-v5.10/arch/openrisc/include/asm/
DKbuild6 generic-y += qspinlock.h
/Linux-v5.10/arch/xtensa/include/asm/
DKbuild9 generic-y += qspinlock.h
/Linux-v5.10/Documentation/admin-guide/
Dkernel-parameters.txt5957 Disables the qspinlock slowpath using Xen PV optimizations.
6001 Disables the qspinlock slow path using PV optimizations