Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 603e824b authored by Steve Capper's avatar Steve Capper Committed by Trilok Soni
Browse files

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.

Change-Id: Id7db5c171672c26e53d0d2f84f989be54a274677
Signed-off-by: default avatarSteve Capper <steve.capper@linaro.org>
Reviewed-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
Git-repo: git://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git


Git-commit: f97fc810798c261b2790c2a1660461a508a479e0
Signed-off-by: default avatarTrilok Soni <tsoni@codeaurora.org>
parent 7f25ac60
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment