diff options
author | Will Deacon <will.deacon@arm.com> | 2018-03-13 20:45:45 +0000 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2018-07-05 10:05:06 +0100 |
commit | c11090474d70590170cf5fa6afe85864ab494b37 (patch) | |
tree | 7bb33c5eee9bdcb1f8d84480b915a21db56eac14 /arch/arm64/include/asm/spinlock_types.h | |
parent | arm64: barrier: Implement smp_cond_load_relaxed (diff) | |
download | linux-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.h | 17 |
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 |