Thread (6 messages) flat view 6 messages, 3 authors, 2018-03-20

Re: [v6 1/2] raid6/altivec: Add vpermxor implementation for raid6 Q syndrome

From: Matt Brown <hidden>
Date: 2017-08-09 23:41:19
Also in: lkml

On Wed, Aug 9, 2017 at 11:26 PM, Michael Ellerman [off-list ref] wrote:
Matt Brown [off-list ref] writes:
quoted
This patch uses the vpermxor instruction to optimise the raid6 Q syndrome.
This instruction was made available with POWER8, ISA version 2.07.
It allows for both vperm and vxor instructions to be done in a single
instruction. This has been tested for correctness on a ppc64le vm with a
basic RAID6 setup containing 5 drives.

The performance benchmarks are from the raid6test in the /lib/raid6/test
directory. These results are from an IBM Firestone machine with ppc64le
architecture. The benchmark results show a 35% speed increase over the best
existing algorithm for powerpc (altivec). The raid6test has also been run
on a big-endian ppc64 vm to ensure it also works for big-endian
architectures.

Performance benchmarks:
              raid6: altivecx4 gen() 18773 MB/s
              raid6: altivecx8 gen() 19438 MB/s

              raid6: vpermxor4 gen() 25112 MB/s
              raid6: vpermxor8 gen() 26279 MB/s

Signed-off-by: Matt Brown <redacted>
Reviewed-by: Daniel Axtens <redacted>
---
v6:
      - added vpermxor files to .gitignore
      - fixup whitespace
      - added vpermxor objs to test/Makefile
v5:
      - moved altivec.uc fix into other patch in series
---
 include/linux/raid/pq.h |   4 ++
 lib/raid6/.gitignore    |   1 +
 lib/raid6/Makefile      |  27 ++++++++++++-
 lib/raid6/algos.c       |   4 ++
 lib/raid6/test/Makefile |  17 +++++++-
 lib/raid6/vpermxor.uc   | 104 ++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 154 insertions(+), 3 deletions(-)
 create mode 100644 lib/raid6/vpermxor.uc
This version at least is not Cc'ed to any of the folks that
get_maintainers.pl identifies for these files:

$ ./scripts/get_maintainer.pl -f lib/raid6
shli@fb.com
gayatri.kammela@intel.com
fenghua.yu@intel.com
megha.dey@linux.intel.com
schwidefsky@de.ibm.com
anup.patel@broadcom.com
linux-kernel@vger.kernel.org


This seems like mostly a list of random folks who've touched this code,
but maybe some of them would have comments?
Ah my bad. I've CC'ed them into this email chain.
Apologies for not including you guys in the original email.
Here is a link to the patchworks patch:
http://patchwork.ozlabs.org/patch/797576/

Thanks,
Matt Brown
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help