Commit graph

2272 commits

Author SHA1 Message Date
Andrea Mazzoleni
cf3ef036de Inject variable page-offset noise to disk buffer displacement to mitigate prefetcher contention 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
cf3ef337a7 Use the optimal displacement depending on the number of disks 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
45141b51a5 Add build option to allow hardlink tools 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
28f61c11bd Change RAID AVX512/GFNI functions to use forward iterations 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
a4e8a68805 Remove the special case of a single data disk when not strictly required 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
102eee70c6 Remove unused level 0 from the pshufb table 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
f838c7434a Change the AVX512BW generation to use pshufb also for Q parity 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
b2f88ade14 Extend the pshufb table to include the Q parity coefficients 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
826cbe70bc New displacement benchmarks 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
d15da0172a Simplify GFNI implementations 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
d4a3ea54ff Always build RAID test with USE_RAID_AES 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
0c1580767e Assume the assembler supports all x86 SSE/AVX instructions 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
affb3790ab Extend the RAID regression test to detect unset parity 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
d8beca84c5 Add support for AVX2 GFNI 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
96005850dd Disable AVX512 on CPUs with narrow shuffle ports or double-pumped 256-bit datapath 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
b5d5234847 Revise the RAID library Makefile 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
0753bedb30 Be more clear when GFNI is really used 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
2865662b2c Optimize AVX512 gen1 parity with the vpternlogq instruction 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
9e8c17cae1 Update TODO 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
f45420df7b Extend io_init() to support arbitrary combinations of data and parity operations 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
e6214cec1d Do not expose Windows threads keys 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
1dac98bcc1 Validate GUIDs before passing them to PowerShell 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
0922827651 Take into account that btrfs devices can be not contiguous 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
9a84c0390f Portability 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
53d10db9fd Add tables for the AES Polynomial 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
951e0cae3f Update TODO 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
4c72fb4b49 Secure the popen use 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
2f5ffc3e90 Add new build option to allow symlinks 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
dccba9fd8c Delete snapshot links in Windows 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
f8724cb8bb Report issues in github 2026-06-10 15:28:54 +02:00
Andrea Mazzoleni
0a5ec9cff6 Update documentation about snapshots 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
d6db8355ef Comment about the RAID optimizations 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
d4a3179d44 Use a simpler approach in the new AVX512 generation functions 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
a8210b3350 Automatically exclude the snapshot .snapraid directory and content files 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
9eca9623b3 Preliminary support for AVX512GFNI 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
ebd9ece35c Allow to configure path of external tools 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
c5e48ea558 Secure external tools execution 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
f63963e72e Add Windows VirtualShadowCopy support for snapshots 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
63d76e177d Add Windows support for symlink of directories 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
8431f4ba65 In Windows readlink now convert \ to / to match symlink behaviour 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
d10da126d0 Always use PATH_MAX instead of MAX_PATH (limited to 260) 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
ecfcd48f88 Revise manpage pattern section 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
538aec2021 Sanitize shell execution 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
fc81e3509f Add ZFS support 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
000a1a1a46 Rework snapshot interface 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
1057e66843 Add Bcachefs support 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
28121dbf17 Change the BLOCK_HASH_SIZE type to avoid potential overflow 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
9f17fd3828 Target Windows 7 instead of Windows Vista 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
be74644823 Modernize configure.ac 2026-06-10 15:28:53 +02:00
Andrea Mazzoleni
22c33a5ba7 More coverage support 2026-06-10 15:28:53 +02:00