RAID/s390: add SIMD implementation for raid6 gen/xor
Using vector registers is slightly faster:
raid6: vx128x8 gen() 19705 MB/s
raid6: vx128x8 xor() 11886 MB/s
raid6: using algorithm vx128x8 gen() 19705 MB/s
raid6: .... xor() 11886 MB/s, rmw enabled
vs the software algorithms:
raid6: int64x1 gen() 3018 MB/s
raid6: int64x1 xor() 1429 MB/s
raid6: int64x2 gen() 4661 MB/s
raid6: int64x2 xor() 3143 MB/s
raid6: int64x4 gen() 5392 MB/s
raid6: int64x4 xor() 3509 MB/s
raid6: int64x8 gen() 4441 MB/s
raid6: int64x8 xor() 3207 MB/s
raid6: using algorithm int64x4 gen() 5392 MB/s
raid6: .... xor() 3509 MB/s, rmw enabled
Signed-off-by:
Martin Schwidefsky <schwidefsky@de.ibm.com>
Showing
- arch/s390/include/asm/vx-insn.h 86 additions, 0 deletionsarch/s390/include/asm/vx-insn.h
- include/linux/raid/pq.h 1 addition, 0 deletionsinclude/linux/raid/pq.h
- lib/raid6/.gitignore 1 addition, 0 deletionslib/raid6/.gitignore
- lib/raid6/Makefile 6 additions, 0 deletionslib/raid6/Makefile
- lib/raid6/algos.c 3 additions, 0 deletionslib/raid6/algos.c
- lib/raid6/s390vx.uc 168 additions, 0 deletionslib/raid6/s390vx.uc
Loading
Please register or sign in to comment