Eric, > Patches 1-5 rework the CRC64 library along the lines of what I did for > CRC32 and CRC-T10DIF in 6.14. They add direct support for > architecture-specific optimizations, fix the naming of the NVME CRC64 > variant, and eliminate a pointless use of the crypto API. > > Patches 6-10 replace the existing x86 PCLMULQDQ optimized CRC code > with new code that is shared among the different CRC variants and also > adds VPCLMULQDQ support, greatly improving performance on recent CPUs. > Patch 11 wires up the same optimization to crc64_be() and crc64_nvme() > (a.k.a. the old "crc64_rocksoft") which previously were unoptimized, > improving the performance of those CRC functions by as much as 100x. > crc64_be is used by bcachefs, and crc64_nvme is used by blk-integrity. Very nice! Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> -- Martin K. Petersen Oracle Linux Engineering