ARM: 7984/1: prefetch: add prefetchw invocations for barriered atomics
authorWill Deacon <will.deacon@arm.com>
Fri, 21 Feb 2014 16:01:48 +0000 (17:01 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 25 Feb 2014 11:30:20 +0000 (11:30 +0000)
commitc32ffce0f66e5d1d4856254516e24f5ef275cd00
tree125229cdd38bfd6e7e62cff7eb8771a34cc999a7
parent6ea41c80115f49e7d8b80312ffc99973d283471f
ARM: 7984/1: prefetch: add prefetchw invocations for barriered atomics

After a bunch of benchmarking on the interaction between dmb and pldw,
it turns out that issuing the pldw *after* the dmb instruction can
give modest performance gains (~3% atomic_add_return improvement on a
dual A15).

This patch adds prefetchw invocations to our barriered atomic operations
including cmpxchg, test_and_xxx and futexes.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/include/asm/atomic.h
arch/arm/include/asm/cmpxchg.h
arch/arm/include/asm/futex.h
arch/arm/lib/bitops.h