summaryrefslogtreecommitdiffstats
path: root/lib/raid6/algos.c
diff options
context:
space:
mode:
authorJim Kukunas <james.t.kukunas@linux.intel.com>2012-11-08 16:47:44 -0500
committerNeilBrown <neilb@suse.de>2012-12-13 00:42:01 -0500
commit7056741fd9fc14a65608549a4657cf5178f05f63 (patch)
treeb30504208f8261c4a0a2625169eaff9aa9de544e /lib/raid6/algos.c
parent54f89341e8b8da0cdac8a7b873491739de19f098 (diff)
lib/raid6: Add AVX2 optimized recovery functions
Optimize RAID6 recovery functions to take advantage of the 256-bit YMM integer instructions introduced in AVX2. The patch was tested and benchmarked before submission. However hardware is not yet released so benchmark numbers cannot be reported. Acked-by: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'lib/raid6/algos.c')
-rw-r--r--lib/raid6/algos.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/raid6/algos.c b/lib/raid6/algos.c
index 589f5f50ad2e..8b7f55cadb45 100644
--- a/lib/raid6/algos.c
+++ b/lib/raid6/algos.c
@@ -72,6 +72,9 @@ EXPORT_SYMBOL_GPL(raid6_datap_recov);
72 72
73const struct raid6_recov_calls *const raid6_recov_algos[] = { 73const struct raid6_recov_calls *const raid6_recov_algos[] = {
74#if (defined(__i386__) || defined(__x86_64__)) && !defined(__arch_um__) 74#if (defined(__i386__) || defined(__x86_64__)) && !defined(__arch_um__)
75#ifdef CONFIG_AS_AVX2
76 &raid6_recov_avx2,
77#endif
75 &raid6_recov_ssse3, 78 &raid6_recov_ssse3,
76#endif 79#endif
77 &raid6_recov_intx1, 80 &raid6_recov_intx1,