On 8/22/19 1:40 PM, Johannes Thumshirn wrote:
Now that Nikolay's XXHASH64 support for the Crypto API has landed and BTRFS is prepared for an easy addition of new checksums, this patchset implements XXHASH64 as a second, fast but not cryptographically secure checksum hash.
Question from the cheap seats.. :) I know that crc32c-intel uses native SSE 4.2 instructions, but so far I have been unable to find benchmarks or explanations why adding xxhash64 benefits btrfs. All benchmarks seem to be against crc32c in *software*, not the SSE4.2-enabled version (or I can't read). I mean, it's great that xxhash64 is really fast for a software implementation, but how does btrfs benefit from this compared to using crc32-intel? Verifying that plugging in other hash impls works (e.g. as preparation for stronger impls) has value, but it's probably not something most users care about. Maybe there are obscure downsides to crc32c-intel like instruction latency (def. a problem for AVX512), cache pollution..? Just curious. thanks, Holger