powerpc: Add VMX optimised xor for RAID5
authorAnton Blanchard <anton@samba.org>
Mon, 14 Oct 2013 10:03:58 +0000 (21:03 +1100)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 30 Oct 2013 05:02:28 +0000 (16:02 +1100)
commitef1313deafb7baa6d3382044e962d5ad5e8c8dd6
tree30584552d8b2907bb8360a7d4e1cab28e3215585
parent07fb41a7525539d7ad37c25f2a2689fd95a6ab68
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>
arch/powerpc/include/asm/xor.h
arch/powerpc/lib/Makefile
arch/powerpc/lib/xor_vmx.c [new file with mode: 0644]