/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_X86_QSPINLOCK_H #define _ASM_X86_QSPINLOCK_H #include <linux/jump_label.h> #include <asm/cpufeature.h> #include <asm-generic/qspinlock_types.h> #include <asm/paravirt.h> #define _Q_PENDING_LOOPS (1 << 9) #ifdef CONFIG_PARAVIRT_SPINLOCKS extern void native_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val); extern void __pv_init_lock_hash(void); extern void __pv_queued_spin_lock_slowpath(struct qspinlock *lock, u32 val); extern void __raw_callee_save___pv_queued_spin_unlock(struct qspinlock *lock); #define queued_spin_unlock queued_spin_unlock /** * queued_spin_unlock - release a queued spinlock * @lock : Pointer to queued spinlock structure * * A smp_store_release() on the least-significant byte. */
static inline void native_queued_spin_unlock(struct qspinlock *lock) { smp_store_release(&lock->locked, 0); }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Will Deacon | 22 | 100.00% | 1 | 100.00% |
Total | 22 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Peter Zijlstra | 22 | 100.00% | 1 | 100.00% |
Total | 22 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Peter Zijlstra | 17 | 100.00% | 1 | 100.00% |
Total | 17 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Peter Zijlstra | 15 | 93.75% | 1 | 50.00% |
Waiman Long | 1 | 6.25% | 1 | 50.00% |
Total | 16 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Peter Zijlstra | 60 | 95.24% | 2 | 66.67% |
Juergen Gross | 3 | 4.76% | 1 | 33.33% |
Total | 63 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Juergen Gross | 8 | 100.00% | 1 | 100.00% |
Total | 8 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Peter Zijlstra | 182 | 70.54% | 5 | 45.45% |
Will Deacon | 31 | 12.02% | 2 | 18.18% |
Juergen Gross | 28 | 10.85% | 1 | 9.09% |
Waiman Long | 16 | 6.20% | 2 | 18.18% |
Greg Kroah-Hartman | 1 | 0.39% | 1 | 9.09% |
Total | 258 | 100.00% | 11 | 100.00% |