summaryrefslogtreecommitdiffstats
path: root/include/linux/raid
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2016-08-23 13:30:24 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2016-08-29 11:05:04 +0200
commit474fd6e80fe529e9adeeb7ea9d4e5d6c4da0b7fe (patch)
treea5294d90e6e7205f26c4271cee49199be2a8addb /include/linux/raid
parent8f149ea6e91534c3e0b4cfcd843323bd94273087 (diff)
downloadlinux-474fd6e80fe529e9adeeb7ea9d4e5d6c4da0b7fe.tar.gz
linux-474fd6e80fe529e9adeeb7ea9d4e5d6c4da0b7fe.tar.bz2
linux-474fd6e80fe529e9adeeb7ea9d4e5d6c4da0b7fe.zip
RAID/s390: add SIMD implementation for raid6 gen/xor
Using vector registers is slightly faster: raid6: vx128x8 gen() 19705 MB/s raid6: vx128x8 xor() 11886 MB/s raid6: using algorithm vx128x8 gen() 19705 MB/s raid6: .... xor() 11886 MB/s, rmw enabled vs the software algorithms: raid6: int64x1 gen() 3018 MB/s raid6: int64x1 xor() 1429 MB/s raid6: int64x2 gen() 4661 MB/s raid6: int64x2 xor() 3143 MB/s raid6: int64x4 gen() 5392 MB/s raid6: int64x4 xor() 3509 MB/s raid6: int64x8 gen() 4441 MB/s raid6: int64x8 xor() 3207 MB/s raid6: using algorithm int64x4 gen() 5392 MB/s raid6: .... xor() 3509 MB/s, rmw enabled Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'include/linux/raid')
-rw-r--r--include/linux/raid/pq.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/raid/pq.h b/include/linux/raid/pq.h
index a0118d5929a9..c032a6a408a6 100644
--- a/include/linux/raid/pq.h
+++ b/include/linux/raid/pq.h
@@ -103,6 +103,7 @@ extern const struct raid6_calls raid6_avx2x1;
extern const struct raid6_calls raid6_avx2x2;
extern const struct raid6_calls raid6_avx2x4;
extern const struct raid6_calls raid6_tilegx8;
+extern const struct raid6_calls raid6_s390vx8;
struct raid6_recov_calls {
void (*data2)(int, size_t, int, int, void **);