History

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

Martin Schwidefsky committed 10 years ago

Commit 474fd6e1 parent 8f149ea6 files · +265 −0Browse files

Showing the changes to include/linux/raid (1 of 6 files). Show all

Unified · Split

include/linux/raid/pq.h+1−0
@@ -103,6 +103,7 @@ extern const struct raid6_calls raid6_avx2x1; · 102 unmodified lines
103103 extern const struct raid6_calls raid6_avx2x2;
104104 extern const struct raid6_calls raid6_avx2x4;
105105 extern const struct raid6_calls raid6_tilegx8;
106+extern const struct raid6_calls raid6_s390vx8;
106107
107108 struct raid6_recov_calls {
108109 void (*data2)(int, size_t, int, int, void **);