mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Add parity generation/rebuild using AVX-512 for x86-64
avx512f should work on all AVX512 hardware, since it only uses Foundation instructions. avx512bw should be faster on hardware supporting the AVW512BW extension. We can use full-width pshufb (instead of relying on the 256 bits AVX2 pshufb). As a side-effect, the code is also unrolled more. Reviewed-by: Richard Laager <rlaager@wiktel.com> Reviewed-by: Gvozden Neskovic <neskovic@gmail.com> Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Romain Dolbeau <romain.github@dolbeau.name> Closes #5219
This commit is contained in:
committed by
Brian Behlendorf
parent
6d4210052b
commit
7f547f85fe
@@ -141,6 +141,12 @@ extern const raidz_impl_ops_t vdev_raidz_ssse3_impl;
|
||||
#if defined(__x86_64) && defined(HAVE_AVX2) /* only x86_64 for now */
|
||||
extern const raidz_impl_ops_t vdev_raidz_avx2_impl;
|
||||
#endif
|
||||
#if defined(__x86_64) && defined(HAVE_AVX512F) /* only x86_64 for now */
|
||||
extern const raidz_impl_ops_t vdev_raidz_avx512f_impl;
|
||||
#endif
|
||||
#if defined(__x86_64) && defined(HAVE_AVX512BW) /* only x86_64 for now */
|
||||
extern const raidz_impl_ops_t vdev_raidz_avx512bw_impl;
|
||||
#endif
|
||||
#if defined(__aarch64__)
|
||||
extern const raidz_impl_ops_t vdev_raidz_aarch64_neon_impl;
|
||||
extern const raidz_impl_ops_t vdev_raidz_aarch64_neonx2_impl;
|
||||
|
||||
Reference in New Issue
Block a user