diff options
author | Gayatri Kammela <gayatri.kammela@intel.com> | 2016-08-12 21:03:20 -0400 |
---|---|---|
committer | Shaohua Li <shli@fb.com> | 2016-09-21 12:09:44 -0400 |
commit | 13c520b2993c9faae6770264d33ff1e1ea4c2ceb (patch) | |
tree | a366455fe39c82e9c522151fbcd8c73c1636d65e /lib/raid6/algos.c | |
parent | e0a491c1296874a1aca51cc68452f12a4d950029 (diff) |
lib/raid6: Add AVX512 optimized recovery functions
Optimize RAID6 recovery functions to take advantage of
the 512-bit ZMM integer instructions introduced in AVX512.
AVX512 optimized recovery functions, which is simply based
on recov_avx2.c written by Jim Kukunas
This patch was tested and benchmarked before submission on
a hardware that has AVX512 flags to support such instructions
Cc: Jim Kukunas <james.t.kukunas@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Megha Dey <megha.dey@linux.intel.com>
Signed-off-by: Gayatri Kammela <gayatri.kammela@intel.com>
Reviewed-by: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat (limited to 'lib/raid6/algos.c')
-rw-r--r-- | lib/raid6/algos.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/raid6/algos.c b/lib/raid6/algos.c index f5f090c52dd9..149d947a4fec 100644 --- a/lib/raid6/algos.c +++ b/lib/raid6/algos.c | |||
@@ -98,6 +98,9 @@ void (*raid6_datap_recov)(int, size_t, int, void **); | |||
98 | EXPORT_SYMBOL_GPL(raid6_datap_recov); | 98 | EXPORT_SYMBOL_GPL(raid6_datap_recov); |
99 | 99 | ||
100 | const struct raid6_recov_calls *const raid6_recov_algos[] = { | 100 | const struct raid6_recov_calls *const raid6_recov_algos[] = { |
101 | #ifdef CONFIG_AS_AVX512 | ||
102 | &raid6_recov_avx512, | ||
103 | #endif | ||
101 | #ifdef CONFIG_AS_AVX2 | 104 | #ifdef CONFIG_AS_AVX2 |
102 | &raid6_recov_avx2, | 105 | &raid6_recov_avx2, |
103 | #endif | 106 | #endif |