FILE
rqspinlock.h
File preview with syntax highlighting.
linux-6.19.14/arch/x86/include/asm/rqspinlock.h
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _ASM_X86_RQSPINLOCK_H 3#define _ASM_X86_RQSPINLOCK_H 4 5#include <asm/paravirt.h> 6 7#ifdef CONFIG_PARAVIRT 8DECLARE_STATIC_KEY_FALSE(virt_spin_lock_key); 9 10#define resilient_virt_spin_lock_enabled resilient_virt_spin_lock_enabled 11static __always_inline bool resilient_virt_spin_lock_enabled(void) 12{ 13 return static_branch_likely(&virt_spin_lock_key); 14} 15 16#ifdef CONFIG_QUEUED_SPINLOCKS 17typedef struct qspinlock rqspinlock_t; 18#else 19typedef struct rqspinlock rqspinlock_t; 20#endif 21extern int resilient_tas_spin_lock(rqspinlock_t *lock); 22 23#define resilient_virt_spin_lock resilient_virt_spin_lock 24static inline int resilient_virt_spin_lock(rqspinlock_t *lock) 25{ 26 return resilient_tas_spin_lock(lock); 27} 28 29#endif /* CONFIG_PARAVIRT */ 30 31#include <asm-generic/rqspinlock.h> 32 33#endif /* _ASM_X86_RQSPINLOCK_H */
~/
Read-only file preview.