mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
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
This commit is contained in:
committed by
Brian Behlendorf
parent
1a69856034
commit
35b07497c6
@@ -90,7 +90,7 @@ typedef boolean_t (*will_work_f)(void);
|
||||
typedef void (*init_impl_f)(void);
|
||||
typedef void (*fini_impl_f)(void);
|
||||
|
||||
#define RAIDZ_IMPL_NAME_MAX (16)
|
||||
#define RAIDZ_IMPL_NAME_MAX (20)
|
||||
|
||||
typedef struct raidz_impl_ops {
|
||||
init_impl_f init;
|
||||
@@ -152,6 +152,9 @@ extern const raidz_impl_ops_t vdev_raidz_avx512bw_impl;
|
||||
extern const raidz_impl_ops_t vdev_raidz_aarch64_neon_impl;
|
||||
extern const raidz_impl_ops_t vdev_raidz_aarch64_neonx2_impl;
|
||||
#endif
|
||||
#if defined(__powerpc__)
|
||||
extern const raidz_impl_ops_t vdev_raidz_powerpc_altivec_impl;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Commonly used raidz_map helpers
|
||||
|
||||
Reference in New Issue
Block a user