[PATCH v2 0/3] Wire up lockless lockrefs for ARM
Will Deacon
will.deacon at arm.com
Thu Oct 3 14:17:31 EDT 2013
Hello,
This is version two of the patch I originally posted here:
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-September/200109.html
The main changes since then are:
* Separate cmpxchg64 from atomic64_cmpxchg, so we can implement a
barrier-less version.
* Use this new barrier-less function to implement cmpxchg64_relaxed
* Finally, use cmpxchg64_relaxed to optimise cmpxchg64_local and
implement lockless lockrefs.
This results in ~100% improvement when running Linus's t.c test
(essentially stating a file in a loop for 10 seconds).
Feedback welcome,
Will
Will Deacon (3):
ARM: cmpxchg: implement barrier-less cmpxchg64_local
ARM: cmpxchg: implement cmpxchg64_relaxed
ARM: lockref: add support for lockless lockrefs using cmpxchg64
arch/arm/Kconfig | 1 +
arch/arm/include/asm/cmpxchg.h | 58 ++++++++++++++++++++++++++++++++---------
arch/arm/include/asm/spinlock.h | 8 ++++--
3 files changed, 53 insertions(+), 14 deletions(-)
--
1.8.2.2
More information about the linux-arm-kernel
mailing list