locking/qspinlock/x86: Only emit the test-and-set fallback when building guest support
Only emit the test-and-set fallback for Hypervisors lacking PARAVIRT_SPINLOCKS support when building for guests. Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org # 4.2 Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
43b3f02899
commit
a6b277857f
|
@ -39,8 +39,8 @@ static inline void queued_spin_unlock(struct qspinlock *lock)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_PARAVIRT
|
||||||
#define virt_spin_lock virt_spin_lock
|
#define virt_spin_lock virt_spin_lock
|
||||||
|
|
||||||
static inline bool virt_spin_lock(struct qspinlock *lock)
|
static inline bool virt_spin_lock(struct qspinlock *lock)
|
||||||
{
|
{
|
||||||
if (!static_cpu_has(X86_FEATURE_HYPERVISOR))
|
if (!static_cpu_has(X86_FEATURE_HYPERVISOR))
|
||||||
|
@ -59,6 +59,7 @@ static inline bool virt_spin_lock(struct qspinlock *lock)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_PARAVIRT */
|
||||||
|
|
||||||
#include <asm-generic/qspinlock.h>
|
#include <asm-generic/qspinlock.h>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue