aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/spinlock_types.h
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2018-03-13 20:45:45 +0000
committerWill Deacon <will.deacon@arm.com>2018-07-05 10:05:06 +0100
commitc11090474d70590170cf5fa6afe85864ab494b37 (patch)
tree7bb33c5eee9bdcb1f8d84480b915a21db56eac14 /arch/arm64/include/asm/spinlock_types.h
parentarm64: barrier: Implement smp_cond_load_relaxed (diff)
downloadlinux-dev-c11090474d70590170cf5fa6afe85864ab494b37.tar.xz
linux-dev-c11090474d70590170cf5fa6afe85864ab494b37.zip
arm64: locking: Replace ticket lock implementation with qspinlock
It's fair to say that our ticket lock has served us well over time, but it's time to bite the bullet and start using the generic qspinlock code so we can make use of explicit MCS queuing and potentially better PV performance in future. Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/spinlock_types.h')
-rw-r--r--arch/arm64/include/asm/spinlock_types.h17
1 files changed, 1 insertions, 16 deletions
diff --git a/arch/arm64/include/asm/spinlock_types.h b/arch/arm64/include/asm/spinlock_types.h
index 6b856012c51b..a157ff465e27 100644
--- a/arch/arm64/include/asm/spinlock_types.h
+++ b/arch/arm64/include/asm/spinlock_types.h
@@ -20,22 +20,7 @@
# error "please don't include this file directly"
#endif
-#include <linux/types.h>
-
-#define TICKET_SHIFT 16
-
-typedef struct {
-#ifdef __AARCH64EB__
- u16 next;
- u16 owner;
-#else
- u16 owner;
- u16 next;
-#endif
-} __aligned(4) arch_spinlock_t;
-
-#define __ARCH_SPIN_LOCK_UNLOCKED { 0 , 0 }
-
+#include <asm-generic/qspinlock_types.h>
#include <asm-generic/qrwlock_types.h>
#endif