]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: cmpxchg: patch in lse instructions when supported by the CPU
authorWill Deacon <will.deacon@arm.com>
Thu, 23 Apr 2015 19:08:49 +0000 (20:08 +0100)
committerWill Deacon <will.deacon@arm.com>
Mon, 27 Jul 2015 14:28:51 +0000 (15:28 +0100)
commit4cca0511a9dc2a5af7b41cf1196813cc0320428d
tree2c1de7284bb6671aa9cb4e8a0f85a119d64de3a2
parent8c8ecad22a2be98450126d73258e8a27cc2d1511
arm64: cmpxchg: patch in lse instructions when supported by the CPU

On CPUs which support the LSE atomic instructions introduced in ARMv8.1,
it makes sense to use them in preference to ll/sc sequences.

This patch introduces runtime patching of our cmpxchg primitives so that
the LSE cas instruction is used instead.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/atomic.h
arch/arm64/include/asm/atomic_ll_sc.h
arch/arm64/include/asm/atomic_lse.h
arch/arm64/include/asm/cmpxchg.h