Home
last modified time | relevance | path

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

/linux-6.3-rc2/arch/x86/include/asm/
A 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()
88 static inline bool virt_spin_lock(struct qspinlock *lock) in virt_spin_lock()
A Dqspinlock_paravirt.h62 extern void __lockfunc __pv_queued_spin_unlock(struct qspinlock *lock);
A Dparavirt.h38 __visible void __native_queued_spin_unlock(struct qspinlock *lock);
590 static __always_inline void pv_queued_spin_lock_slowpath(struct qspinlock *lock, in pv_queued_spin_lock_slowpath()
596 static __always_inline void pv_queued_spin_unlock(struct qspinlock *lock) in pv_queued_spin_unlock()
620 void __raw_callee_save___native_queued_spin_unlock(struct qspinlock *lock);
A Dparavirt_types.h238 struct qspinlock;
241 void (*queued_spin_lock_slowpath)(struct qspinlock *lock, u32 val);
/linux-6.3-rc2/arch/powerpc/include/asm/
A Dqspinlock.h71 static __always_inline int queued_spin_is_locked(struct qspinlock *lock) in queued_spin_is_locked()
76 static __always_inline int queued_spin_value_unlocked(struct qspinlock lock) in queued_spin_value_unlocked()
81 static __always_inline int queued_spin_is_contended(struct qspinlock *lock) in queued_spin_is_contended()
92 static __always_inline int __queued_spin_trylock_nosteal(struct qspinlock *lock) in __queued_spin_trylock_nosteal()
114 static __always_inline int __queued_spin_trylock_steal(struct qspinlock *lock) in __queued_spin_trylock_steal()
138 static __always_inline int queued_spin_trylock(struct qspinlock *lock) in queued_spin_trylock()
146 void queued_spin_lock_slowpath(struct qspinlock *lock);
148 static __always_inline void queued_spin_lock(struct qspinlock *lock) in queued_spin_lock()
154 static inline void queued_spin_unlock(struct qspinlock *lock) in queued_spin_unlock()
A Dqspinlock_types.h8 typedef struct qspinlock { struct
/linux-6.3-rc2/include/asm-generic/
A Dqspinlock.h51 static __always_inline int queued_spin_is_locked(struct qspinlock *lock) in queued_spin_is_locked()
71 static __always_inline int queued_spin_value_unlocked(struct qspinlock lock) in queued_spin_value_unlocked()
81 static __always_inline int queued_spin_is_contended(struct qspinlock *lock) in queued_spin_is_contended()
90 static __always_inline int queued_spin_trylock(struct qspinlock *lock) in queued_spin_trylock()
100 extern void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val);
107 static __always_inline void queued_spin_lock(struct qspinlock *lock) in queued_spin_lock()
123 static __always_inline void queued_spin_unlock(struct qspinlock *lock) in queued_spin_unlock()
133 static __always_inline bool virt_spin_lock(struct qspinlock *lock) in virt_spin_lock()
A Dqspinlock_types.h14 typedef struct qspinlock { struct
/linux-6.3-rc2/kernel/locking/
A 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()
406 struct qspinlock **lp = NULL; in pv_wait_head_or_lock()
415 lp = (struct qspinlock **)1; in pv_wait_head_or_lock()
[all …]
A Dqspinlock.c149 static __always_inline void clear_pending(struct qspinlock *lock) in clear_pending()
162 static __always_inline void clear_pending_set_locked(struct qspinlock *lock) in clear_pending_set_locked()
177 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail()
195 static __always_inline void clear_pending(struct qspinlock *lock) in clear_pending()
206 static __always_inline void clear_pending_set_locked(struct qspinlock *lock) in clear_pending_set_locked()
221 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail()
250 static __always_inline u32 queued_fetch_set_pending_acquire(struct qspinlock *lock) in queued_fetch_set_pending_acquire()
262 static __always_inline void set_locked(struct qspinlock *lock) in set_locked()
276 static __always_inline void __pv_kick_node(struct qspinlock *lock, in __pv_kick_node()
278 static __always_inline u32 __pv_wait_head_or_lock(struct qspinlock *lock, in __pv_wait_head_or_lock()
[all …]
A DMakefile26 obj-$(CONFIG_QUEUED_SPINLOCKS) += qspinlock.o
/linux-6.3-rc2/arch/powerpc/lib/
A Dqspinlock.c17 struct qspinlock *lock;
121 static __always_inline u32 trylock_clean_tail(struct qspinlock *lock, u32 tail) in trylock_clean_tail()
160 static __always_inline u32 publish_tail_cpu(struct qspinlock *lock, u32 tail) in publish_tail_cpu()
178 static __always_inline u32 set_mustq(struct qspinlock *lock) in set_mustq()
194 static __always_inline u32 clear_mustq(struct qspinlock *lock) in clear_mustq()
210 static __always_inline bool try_set_sleepy(struct qspinlock *lock, u32 old) in try_set_sleepy()
232 static __always_inline void seen_sleepy_owner(struct qspinlock *lock, u32 val) in seen_sleepy_owner()
248 static __always_inline void seen_sleepy_node(struct qspinlock *lock, u32 val) in seen_sleepy_node()
260 static struct qnode *get_tail_qnode(struct qspinlock *lock, u32 val) in get_tail_qnode()
465 static __always_inline bool try_to_steal_lock(struct qspinlock *lock, bool paravirt) in try_to_steal_lock()
[all …]
A DMakefile58 obj-$(CONFIG_SMP) += qspinlock.o
/linux-6.3-rc2/arch/mips/include/asm/
A Dspinlock.h21 static inline void queued_spin_unlock(struct qspinlock *lock) in queued_spin_unlock()
A DKbuild15 generic-y += qspinlock.h
/linux-6.3-rc2/arch/x86/kernel/
A Dparavirt-spinlocks.c12 __visible void __native_queued_spin_unlock(struct qspinlock *lock) in __native_queued_spin_unlock()
/linux-6.3-rc2/arch/arm64/include/asm/
A DKbuild5 generic-y += qspinlock.h
/linux-6.3-rc2/arch/xtensa/include/asm/
A DKbuild9 generic-y += qspinlock.h
/linux-6.3-rc2/arch/csky/include/asm/
A DKbuild9 generic-y += qspinlock.h
/linux-6.3-rc2/arch/loongarch/include/asm/
A DKbuild8 generic-y += qspinlock.h
/linux-6.3-rc2/Documentation/admin-guide/
A Dkernel-parameters.txt3839 Disables the qspinlock slow path using PV optimizations
6970 Disables the qspinlock slowpath using Xen PV optimizations.

Completed in 23 milliseconds