diff options
author | Anton Blanchard <anton@samba.org> | 2013-10-14 21:03:58 +1100 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2013-10-30 16:02:28 +1100 |
commit | ef1313deafb7baa6d3382044e962d5ad5e8c8dd6 (patch) | |
tree | 30584552d8b2907bb8360a7d4e1cab28e3215585 /arch/powerpc/lib/Makefile | |
parent | 07fb41a7525539d7ad37c25f2a2689fd95a6ab68 (diff) | |
download | op-kernel-dev-ef1313deafb7baa6d3382044e962d5ad5e8c8dd6.zip op-kernel-dev-ef1313deafb7baa6d3382044e962d5ad5e8c8dd6.tar.gz |
powerpc: Add VMX optimised xor for RAID5
Add a VMX optimised xor, used primarily for RAID5. On a POWER7 blade
this is a decent win:
32regs : 17932.800 MB/sec
altivec : 19724.800 MB/sec
The bigger gain is when the same test is run in SMT4 mode, as it
would if there was a lot of work going on:
8regs : 8377.600 MB/sec
altivec : 15801.600 MB/sec
I tested this against an array created without the patch, and also
verified it worked as expected on a little endian kernel.
[ Fix !CONFIG_ALTIVEC build -- BenH ]
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/lib/Makefile')
-rw-r--r-- | arch/powerpc/lib/Makefile | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/lib/Makefile b/arch/powerpc/lib/Makefile index 5310132..95a20e1 100644 --- a/arch/powerpc/lib/Makefile +++ b/arch/powerpc/lib/Makefile @@ -39,3 +39,6 @@ obj-$(CONFIG_PPC_LIB_RHEAP) += rheap.o obj-y += code-patching.o obj-y += feature-fixups.o obj-$(CONFIG_FTR_FIXUP_SELFTEST) += feature-fixups-test.o + +obj-$(CONFIG_ALTIVEC) += xor_vmx.o +CFLAGS_xor_vmx.o += -maltivec -mabi=altivec |