OpenCloudOS-Kernel/arch/powerpc
Michael Ellerman 3405d230b3 powerpc: Add support for the optimised lockref implementation
This commit adds the architecture support required to enable the
optimised implementation of lockrefs.

That's as simple as defining arch_spin_value_unlocked() and selecting
the Kconfig option.

We also define cmpxchg64_relaxed(), because the lockref code does not
need the cmpxchg to have barrier semantics.

Using Linus' test case[1] on one system I see a 4x improvement for the
basic enablement, and a further 1.3x for cmpxchg64_relaxed(), for a
total of 5.3x vs the baseline.

On another system I see more like 2x improvement.

[1]: http://marc.info/?l=linux-fsdevel&m=137782380714721&w=4

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-01-28 14:45:43 +11:00
..
boot powerpc/85xx/dts: add third elo3 dma component 2014-01-10 17:38:29 -06:00
configs Merge remote-tracking branch 'scott/next' into next 2014-01-15 14:22:35 +11:00
crypto powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit 2013-03-05 16:56:26 +11:00
include powerpc: Add support for the optimised lockref implementation 2014-01-28 14:45:43 +11:00
kernel powerpc/eeh: Handle multiple EEH errors 2014-01-15 17:18:58 +11:00
kvm powerpc/booke64: Add LRAT error exception handler 2014-01-07 18:15:29 -06:00
lib powerpc: Add vr save/restore functions 2014-01-15 13:46:43 +11:00
math-emu powerpc: fix e500 SPE float SIGFPE generation 2014-01-07 18:43:42 -06:00
mm Merge remote-tracking branch 'scott/next' into next 2014-01-15 14:22:35 +11:00
net Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-11-12 14:34:19 +09:00
oprofile powerpc: Delete non-required instances of include <linux/init.h> 2014-01-15 13:46:44 +11:00
perf powerpc/perf: Fix handling of FAB events 2013-10-03 17:25:38 +10:00
platforms powerpc/powernv: Call OPAL sync before kexec'ing 2014-01-15 17:21:18 +11:00
sysdev Merge remote-tracking branch 'scott/next' into next 2014-01-15 14:22:35 +11:00
xmon powerpc/book3s: Introduce exclusive emergency stack for machine check exception. 2013-12-05 16:02:05 +11:00
Kconfig powerpc: Add support for the optimised lockref implementation 2014-01-28 14:45:43 +11:00
Kconfig.debug Merge branch 'kconfig-diet' from Dave Hansen 2013-07-04 11:25:51 -07:00
Makefile powerpc: Fix error when cross building TAGS & cscope 2013-11-25 11:49:11 +11:00
relocs_check.pl Fix warning typo "CONFIG_RELCOATABLE" 2013-05-29 15:11:30 +02:00