Commit graph

2285 commits

Author SHA1 Message Date
Andrea Mazzoleni
eff11e4607 Inject variable page-offset noise to disk buffer displacement to mitigate prefetcher contention 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
986075e53a Use the optimal displacement depending on the number of disks 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
2ae305fbc4 Change RAID AVX512/GFNI functions to use forward iterations 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
85b4d65308 Remove the special case of a single data disk when not strictly required 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
8c1111ea25 Remove unused level 0 from the pshufb table 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
798e19d6c4 Change the AVX512BW generation to use pshufb also for Q parity 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
0dcf3f78ed Extend the pshufb table to include the Q parity coefficients 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
7f7bdbd925 New displacement benchmarks 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
5e89e3e0fd Simplify GFNI implementations 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
f7d8ddb07b Always build RAID test with USE_RAID_AES 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
7ac192deb9 Assume the assembler supports all x86 SSE/AVX instructions 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
829efe750b Extend the RAID regression test to detect unset parity 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
ea207fdd8c Add support for AVX2 GFNI 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
3172e42650 Disable AVX512 on CPUs with narrow shuffle ports or double-pumped 256-bit datapath 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
ef8262b567 Revise the RAID library Makefile 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
b2aa5e221e Be more clear when GFNI is really used 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
cf9ab90769 Optimize AVX512 gen1 parity with the vpternlogq instruction 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
6a58c8e9db Update TODO 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
bc7c102989 Extend io_init() to support arbitrary combinations of data and parity operations 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
ea744a9110 Do not expose Windows threads keys 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
7e898e1fd8 Validate GUIDs before passing them to PowerShell 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
d3729730a1 Take into account that btrfs devices can be not contiguous 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
247f5d542a Portability 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
b99daefeed Add tables for the AES Polynomial 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
848b7e3300 Update TODO 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
e4dd5e678a Secure the popen use 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
ecb4d8168c Delete snapshot links in Windows 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
0f10d6431e Report issues in github 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
078580c586 Update documentation about snapshots 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
43b15980a7 Comment about the RAID optimizations 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
9269dc962a Use a simpler approach in the new AVX512 generation functions 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
ea470341aa Automatically exclude the snapshot .snapraid directory and content files 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
37ff42a1c2 Preliminary support for AVX512GFNI 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
5fa99742b5 Allow to configure path of external tools 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
d9b5c18b62 Secure external tools execution 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
b2a947c5ab Add Windows VirtualShadowCopy support for snapshots 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
b9ec9caeb6 Add Windows support for symlink of directories 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
5e24b91eda In Windows readlink now convert \ to / to match symlink behaviour 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
c466ba7add Always use PATH_MAX instead of MAX_PATH (limited to 260) 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
0671e768c6 Revise manpage pattern section 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
6743b0067e Sanitize shell execution 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
d57dff07ef Add ZFS support 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
0f498c2e91 Rework snapshot interface 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
3c93d301eb Add Bcachefs support 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
e359b946cc Change the BLOCK_HASH_SIZE type to avoid potential overflow 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
9b61df9eb4 Target Windows 7 instead of Windows Vista 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
849cbba42e Modernize configure.ac 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
d89c9b50b6 More coverage support 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
17178ead05 Update manpage 2026-07-19 18:23:43 +02:00
Andrea Mazzoleni
d059a5eb2b Update TODO 2026-07-19 18:23:43 +02:00