diff options
Diffstat (limited to 'kernel/arch/arm/include/asm/mutex.h')
-rw-r--r-- | kernel/arch/arm/include/asm/mutex.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/kernel/arch/arm/include/asm/mutex.h b/kernel/arch/arm/include/asm/mutex.h new file mode 100644 index 000000000..87c044910 --- /dev/null +++ b/kernel/arch/arm/include/asm/mutex.h @@ -0,0 +1,21 @@ +/* + * arch/arm/include/asm/mutex.h + * + * ARM optimized mutex locking primitives + * + * Please look into asm-generic/mutex-xchg.h for a formal definition. + */ +#ifndef _ASM_MUTEX_H +#define _ASM_MUTEX_H +/* + * On pre-ARMv6 hardware this results in a swp-based implementation, + * which is the most efficient. For ARMv6+, we have exclusive memory + * accessors and use atomic_dec to avoid the extra xchg operations + * on the locking slowpaths. + */ +#if __LINUX_ARM_ARCH__ < 6 +#include <asm-generic/mutex-xchg.h> +#else +#include <asm-generic/mutex-dec.h> +#endif +#endif /* _ASM_MUTEX_H */ |