Andrea Mazzoleni
|
c1a78092c4
|
Fix RAID documentation accuracy
|
2026-08-24 21:53:07 +02:00 |
|
Andrea Mazzoleni
|
03d82a71f4
|
Document raid_selftest startup execution and mode selection requirements
|
2026-08-24 21:53:07 +02:00 |
|
Andrea Mazzoleni
|
df4667ffd5
|
Add NOTES
|
2026-08-24 21:53:07 +02:00 |
|
Andrea Mazzoleni
|
0ebe2e1e5e
|
Add OTHERS
|
2026-08-24 21:53:07 +02:00 |
|
Andrea Mazzoleni
|
3f4d7e15fa
|
Reduce SSSE3ext REC1 unrolling from 64 to 32 bytes for better performance
|
2026-08-24 21:53:07 +02:00 |
|
Andrea Mazzoleni
|
048d0c14b1
|
Make TEST_COUNT and TEST_SIZE parametric in raid fulltest and test Makefile
|
2026-08-24 21:53:07 +02:00 |
|
Andrea Mazzoleni
|
4d97df38ce
|
Optimize recovery with P by deriving the final missing block via XOR
|
2026-08-24 21:53:07 +02:00 |
|
Andrea Mazzoleni
|
d3e67b2fdf
|
Extract common recovery function setup
|
2026-08-24 17:39:29 +02:00 |
|
Andrea Mazzoleni
|
e74b03a062
|
Remove unused argument from recovery functions
|
2026-08-24 17:39:29 +02:00 |
|
Andrea Mazzoleni
|
46ebce4e3c
|
Add specialized P+Q REC2OF2 recovery to all SIMD backends
|
2026-08-24 17:39:29 +02:00 |
|
Andrea Mazzoleni
|
d4184b9aee
|
Harden public RAID API argument validation
|
2026-08-24 17:39:29 +02:00 |
|
Andrea Mazzoleni
|
ae703ce68c
|
Optimize multi-parity recovery with fused syndrome generation
|
2026-08-24 11:57:04 +02:00 |
|
Andrea Mazzoleni
|
9d842b0dfb
|
Precompute direct Cauchy affine matrices for RAID GFNI generation
|
2026-08-23 21:57:16 +02:00 |
|
Andrea Mazzoleni
|
0c030c024e
|
Remove horner evaluation for RAID GFNI parity generation
|
2026-08-23 21:34:41 +02:00 |
|
Andrea Mazzoleni
|
63c81dedf3
|
Clarify AES GFNI performance expectations and document RAID affine multiplication behavior
|
2026-08-23 20:29:02 +02:00 |
|
Andrea Mazzoleni
|
a745a05d4e
|
Add raid_test_tail to test recovery of tail disks across all array sizes up to 251
|
2026-08-21 12:06:40 +02:00 |
|
Andrea Mazzoleni
|
c410b11162
|
Clarify SIMD register preservation rationale and AVX transition comments
|
2026-08-21 12:06:26 +02:00 |
|
Andrea Mazzoleni
|
335f2619fd
|
Optimize triple parity generation by preloading multiplication tables in vector registers
|
2026-08-21 12:06:26 +02:00 |
|
Andrea Mazzoleni
|
8c456ee354
|
Optimize dual parity generation by preloading multiplication tables in vector registers
Optimize AVX2 and AVX-512 GFNI AES dual parity generation by preloading coefficients in registers
|
2026-08-21 12:06:26 +02:00 |
|
Andrea Mazzoleni
|
3ff07a8297
|
Document RAID thread-safety requirements
|
2026-08-21 12:06:26 +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
|
e5ca862a37
|
Correct raid_scan documentation on candidate search and return semantics
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
ecb26a6aee
|
Fix raid_selftest() parity bounds and dispatch in Vandermonde mode
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
4c51acaf29
|
Add multithreaded Cauchy matrix inversion test invtestx for Linux
|
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
|
7d434954e8
|
Precalculate shuffle table pointers outside data loop in Cauchy recX
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
ac1797be96
|
Precompute affine matrix representations outside data loop in AVX2 and AVX-512 GFNI recX
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
4d61b726be
|
Unroll NEON rec2 two-disk recovery to 32-byte chunks using 25 vector registers
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
5b0e1bcd6b
|
Unroll rec1 single-disk recovery to 64-byte chunks in AVX2, SSSE3, and NEON
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
7f6ef3b4cd
|
Eliminate stack buffers, pre-split delta nibbles and and inner loop in recX
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
71ffb94019
|
Keep deltas in AVX-512 registers and unroll reconstruction with conditional jumps in recX
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
93eadd73f0
|
Preload multiplication tables and avoid repeated nibble splitting in NEON recovery
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
48d97dae31
|
Make 64-byte block alignment an explicit requirement in RAID API
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
11bf37d61b
|
Enforce mode parity limits
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
5d2f3c7b16
|
Avoid strict-aliasing and unaligned write in raid_cpu_info
|
2026-08-21 12:06:25 +02:00 |
|
Andrea Mazzoleni
|
7e2a8eab7d
|
Keep multiplication tables resident and reuse delta nibbles in AVX2 and AVX512BW REC2
|
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
|
cc91392803
|
Replace pointer casting with safe memcpy helpers
|
2026-08-18 23:33:59 +02:00 |
|
Andrea Mazzoleni
|
24a8464fc0
|
Require AVX512BW in addition to AVX512F for AVX-512 GFNI detection
|
2026-08-18 23:33:59 +02:00 |
|
Andrea Mazzoleni
|
f09091a4e4
|
Refine RAID buffer displacement rationale
|
2026-08-18 23:33:57 +02:00 |
|
Andrea Mazzoleni
|
45833e9f1f
|
Refine RAID stride noise documentation
|
2026-08-18 23:33:57 +02:00 |
|
Andrea Mazzoleni
|
039b5c2c28
|
Add RAID library developer README
|
2026-08-18 23:33:57 +02:00 |
|
Andrea Mazzoleni
|
f3c3265116
|
Document dummy register clobbers in raid_sse_end and raid_neon_end
|
2026-08-18 23:33:56 +02:00 |
|
Andrea Mazzoleni
|
47b321d97c
|
Support dynamic runtime selection of RAID AES mode
|
2026-08-18 23:33:56 +02:00 |
|
Andrea Mazzoleni
|
49d5e685c9
|
Avoid a folding VLA warning in clang
|
2026-08-18 23:33:55 +02:00 |
|
Andrea Mazzoleni
|
8e2b9c03b5
|
Use uniform ending on files for parity implementation
|
2026-08-18 23:33:54 +02:00 |
|
Andrea Mazzoleni
|
1a3099d7f5
|
Fix building on x86 for missing AVX512 support
|
2026-08-18 23:33:54 +02:00 |
|
Andrea Mazzoleni
|
fd2dc7810f
|
Run the speed test with and without displacement
|
2026-08-18 23:33:54 +02:00 |
|
Andrea Mazzoleni
|
2dbb25acbd
|
Allow to specify the wrap size in allocation
|
2026-08-18 23:33:54 +02:00 |
|