Andrea Mazzoleni
|
9bd2f68046
|
Add and standardize top comments across SIMD assembly functions
|
2026-08-25 12:09:03 +02:00 |
|
Andrea Mazzoleni
|
3759c9356b
|
Optimize gen2 and gen3 kernels for AVX-512 GFNI with coefficient preloading
|
2026-08-25 11:24:43 +02:00 |
|
Andrea Mazzoleni
|
76ed8d643a
|
Rename static test helpers in module.c to selftest_*
|
2026-08-25 11:03:36 +02:00 |
|
Andrea Mazzoleni
|
697ab3056e
|
Extend selftest and fulltest with disk edge cases, polynomial checks, and comments
|
2026-08-25 10:59:33 +02:00 |
|
Andrea Mazzoleni
|
f85c014c1c
|
Extend raid_selftest with comprehensive recovery combinations for raid_rec
|
2026-08-25 10:45:46 +02:00 |
|
Andrea Mazzoleni
|
c192fe8982
|
Add compiler memory barriers to NEON and NEON32 end helpers
|
2026-08-25 09:58:53 +02:00 |
|
Andrea Mazzoleni
|
7250521e66
|
Clarify fulltest scope and test_count limits in raid README
|
2026-08-24 22:16:52 +02:00 |
|
Andrea Mazzoleni
|
e43bdda22b
|
Return -1 in raid_check and raid_scan when block size is 0
|
2026-08-24 22:11:52 +02:00 |
|
Andrea Mazzoleni
|
46a09a380a
|
Check maximum basic CPUID leaf before querying leaf 7 in AVX probing
|
2026-08-24 22:06:17 +02:00 |
|
Andrea Mazzoleni
|
5ed6a29db2
|
Document memory helpers, freeing semantics, and design invariants
|
2026-08-24 22:01:40 +02:00 |
|
Andrea Mazzoleni
|
306f847689
|
Reset global zero buffer with raid_zero(0) in raid_selftest cleanup
|
2026-08-24 21:53:08 +02:00 |
|
Andrea Mazzoleni
|
eba07d2173
|
Include <stddef.h> in raid.h to make the public header self-contained
|
2026-08-24 21:53:08 +02:00 |
|
Andrea Mazzoleni
|
453fb20d83
|
Avoid UB in raid_gen memcpy when output aliases input with nd == 1
|
2026-08-24 21:53:07 +02:00 |
|
Andrea Mazzoleni
|
88442cb10c
|
Avoid writing to healthy parities in raid_rec() using local vector remapping
|
2026-08-24 21:53:07 +02:00 |
|
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 |
|