]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add AltiVec RAID-Z
authorRomain Dolbeau <romain.dolbeau@european-processor-initiative.eu>
Thu, 23 Jan 2020 19:01:24 +0000 (20:01 +0100)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 23 Jan 2020 19:01:24 +0000 (11:01 -0800)
commit35b07497c60701465a87aab48fc890a0bc502561
treeded14fd0cfd7c3dd985617ae1d576d4e26c165a2
parent1a69856034304e74b32fb372e89967e91989cafd
Add AltiVec RAID-Z

Implements the RAID-Z function using AltiVec SIMD.
This is basically the NEON code translated to AltiVec.

Note that the 'fletcher' algorithm requires 64-bits
operations, and the initial implementations of AltiVec
(PPC74xx a.k.a. G4, PPC970 a.k.a. G5) only has up to
32-bits operations, so no 'fletcher'.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Romain Dolbeau <romain.dolbeau@european-processor-initiative.eu>
Closes #9539
12 files changed:
cmd/raidz_test/raidz_test.h
include/os/linux/kernel/linux/Makefile.am
include/os/linux/kernel/linux/simd.h
include/os/linux/kernel/linux/simd_powerpc.h [new file with mode: 0644]
include/sys/vdev_raidz_impl.h
lib/libspl/include/sys/simd.h
lib/libzpool/Makefile.am
man/man5/zfs-module-parameters.5
module/zfs/Makefile.in
module/zfs/vdev_raidz_math.c
module/zfs/vdev_raidz_math_powerpc_altivec.c [new file with mode: 0644]
module/zfs/vdev_raidz_math_powerpc_altivec_common.h [new file with mode: 0644]