]> Pileus Git - ~andy/linux/commit
ARM: bitops: prefetch the destination word for write prior to strex
authorWill Deacon <will.deacon@arm.com>
Thu, 27 Jun 2013 11:01:51 +0000 (12:01 +0100)
committerWill Deacon <will.deacon@arm.com>
Mon, 30 Sep 2013 15:42:56 +0000 (16:42 +0100)
commitd779c07dd72098a7416d907494f958213b7726f3
treece55eca4b34d090604b8dfcc227e74de4eede72c
parentf38d999c4d16fc0fce4270374f15fbb2d8713c09
ARM: bitops: prefetch the destination word for write prior to strex

The cost of changing a cacheline from shared to exclusive state can be
significant, especially when this is triggered by an exclusive store,
since it may result in having to retry the transaction.

This patch prefixes our atomic bitops implementation with prefetchw,
to try and grab the line in exclusive state from the start. The testop
macro is left alone, since the barrier semantics limit the usefulness
of prefetching data.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm/lib/bitops.h