Commit graph

35 commits

Author SHA1 Message Date
Andrea Mazzoleni
ec1daddc8e Eliminate raid_delta_gen and convert int/neon32 REC1/REC2 to single-pass fused recovery 2026-09-02 18:30:59 +02:00
Andrea Mazzoleni
0ce89aa35d Add support for selectable streaming vs cached parity generation 2026-09-02 17:26:02 +02:00
Andrea Mazzoleni
b991d5e6c8 Use temporal stores for recovered data in SSSE3 and AVX2 REC1OF1 paths 2026-08-31 21:34:10 +02:00
Andrea Mazzoleni
da58c1a997 Use fused 1-pass recovery for SSSE3 2026-08-31 20:45:39 +02:00
Andrea Mazzoleni
ee47fdf723 Fix raid_gen_force parity count in benchmarks 2026-08-31 20:45:39 +02:00
Andrea Mazzoleni
82089165b5 Add dedicated XOR-only fast path for NEON rec1of1 2026-08-31 20:45:38 +02:00
Andrea Mazzoleni
e0c0ea3dcc Optimize scalar 8-bit RAID parity generation and recovery in int.c 2026-08-31 10:39:17 +02:00
Andrea Mazzoleni
35abfd81e1 Use fused 1-pass recovery for rec1of1 and rec2of2 in NEON, AVX512 and GFNI backends 2026-08-26 21:11:46 +02:00
Andrea Mazzoleni
ae703ce68c Optimize multi-parity recovery with fused syndrome generation 2026-08-24 11:57:04 +02:00
Andrea Mazzoleni
5c24968e6d Add AArch32 (ARM32) NEON SIMD support for parity generation and recovery 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
6fa2c44caf Add rec1of1 and rec2of2 benchmarks for first parity reconstruction 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
17591ad932 Add GFNI affine parity generation for RAID polynomial 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
b5d507fbe9 Use primitive generator 3 for AES Cauchy mode 2026-08-21 12:06:25 +02:00
Andrea Mazzoleni
47b321d97c Support dynamic runtime selection of RAID AES mode 2026-08-18 23:33:56 +02:00
Andrea Mazzoleni
fd2dc7810f Run the speed test with and without displacement 2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
22495abe9e Add AArch64 NEON parity generation and recovery functions 2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
76998613da Remove the unused number of data disks from the vector allocation
The same addressing rules are applied to the parity disks because
they are used as data disks during recovery operations.
2026-08-18 23:33:54 +02:00
Andrea Mazzoleni
5795b9706e Use the optimal displacement depending on the number of disks 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
108915254e Assume the assembler supports all x86 SSE/AVX instructions 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
c08a571d88 Add support for AVX2 GFNI 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
557dcda9cd Disable AVX512 on CPUs with narrow shuffle ports or double-pumped 256-bit datapath 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
599a4fbb42 Be more clear when GFNI is really used 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
639167efba Preliminary support for AVX512GFNI 2026-08-18 23:33:53 +02:00
Andrea Mazzoleni
03a8927571 Add detection of AVX2GFNI 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
bba98c3e63 Add more AVX512 functions for parity 2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
d0fb6d2ac3 Preliminary support for ADVX512 2026-08-18 23:33:52 +02:00
Christoph Hellwig
cf515b82b2 Make all RAID forwarders static and local using a new registration interface
Co-authored-by: Andrea Mazzoleni <amadvance@gmail.com>
2026-08-18 23:33:52 +02:00
Andrea Mazzoleni
0d0431a907 Simpler Copyright string 2026-04-09 17:56:49 +02:00
Christoph Hellwig
60269a1236 Use SPDX (https://spdx.dev/) tags to identify the license used for each
file, and a COPYING file explaining the licensing scheme, with the actual
licenses listed in the LICENSES/ directory.
2026-04-02 16:01:37 +02:00
Andrea Mazzoleni
7d6c30333f Uses a more precise intructions set detection.
This allows to build with old assembler programs.
2014-11-12 19:52:35 +01:00
Andrea Mazzoleni
4ce85be912 Fixes indentation of speed results. 2014-09-17 21:34:00 +02:00
Andrea Mazzoleni
4e419aa862 Extends tests to use AVX2 functions. 2014-09-16 21:58:29 +02:00
Andrea Mazzoleni
44ef039a13 Different source organization. 2014-03-23 17:50:27 +01:00
Andrea Mazzoleni
a7bc628bc3 Moves the source files into the src/ dir. 2014-03-22 21:02:12 +01:00
Andrea Mazzoleni
81f2fde927 Adds new test program for the RAID engine. 2014-01-18 10:37:09 +01:00