
The Linux xor_gen() function is used for generating and checking parity blocks for Linux software RAID as well as the native, built-in RAID capabilities on the likes of the Btrfs file-system. Eric Biggers has been pursuing an AVX-512 implementation of xor_gen() for enhancing the throughput on modern Intel and AMD processors.
This implementation should work on the likes of AMD Zen 4 and newer, Intel Xeon Sapphire Rapids and later, Intel Raptor Lake, or upcoming Intel Nova Lake and newer. Biggers benchmark on the AMD Ryzen 9 9950X are very promising:
While the timing doesn't look like it will work out with the imminent Linux v7.3 merge window, this weekend Biggers posted an updated version of the patch. The revised code fixes some missing VZEROUPPER instructions in the new AVX-512 code. Those interested can check out the v4 patch series for the AVX-512 xor_gen() implementation and enhancements to the kernel's handling of feature flags for AVX/AVX-512.