summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/traps.c
diff options
context:
space:
mode:
authorSteve Capper2014-11-19 17:53:43 +0100
committerWill Deacon2014-11-20 13:05:18 +0100
commitf97fc810798c261b2790c2a1660461a508a479e0 (patch)
treed0778121159f47b0337c368e5f2f1be35082d1fb /arch/arm64/kernel/traps.c
parentarm64: pgalloc: consistently use PGALLOC_GFP (diff)
downloadkernel-qcow2-linux-f97fc810798c261b2790c2a1660461a508a479e0.tar.gz
kernel-qcow2-linux-f97fc810798c261b2790c2a1660461a508a479e0.tar.xz
kernel-qcow2-linux-f97fc810798c261b2790c2a1660461a508a479e0.zip
arm64: percpu: Implement this_cpu operations
The generic this_cpu operations disable interrupts to ensure that the requested operation is protected from pre-emption. For arm64, this is overkill and can hurt throughput and latency. This patch provides arm64 specific implementations for the this_cpu operations. Rather than disable interrupts, we use the exclusive monitor or atomic operations as appropriate. The following operations are implemented: add, add_return, and, or, read, write, xchg. We also wire up a cmpxchg implementation from cmpxchg.h. Testing was performed using the percpu_test module and hackbench on a Juno board running 3.18-rc4. Signed-off-by: Steve Capper <steve.capper@linaro.org> Reviewed-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/kernel/traps.c')
0 files changed, 0 insertions, 0 deletions