Page MenuHomeFreeBSD

ZFS doesn't use skein assembly
Needs ReviewPublic

Authored by gldisater_gmail.com on Aug 15 2019, 12:35 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

ZFS can use skein as a checksum algorithm. But is currently not using assembly implementation, only the C implementation. Removal of these lines allows ZFS to use the crypto module's assembly implementation for an improvement in ZFS performances and cpu usage when skein is the selected checksum.

Other options would be to duplicate the Makefile lines from the crypto module to include the assembly file in ZFS' compilation, or to inline the assembly implementation into the C file.

Test Plan

Created a FreeBSD bhyve with only one vcpu and copied 600GB of data into a skein enabled dataset. The scrub performance was 3h34m without this change, and 2h:43m with this change.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

I can't help with the review itself, but the least I can do for this excellent idea is to remind you that you'll want to add some reviewers so that your code can be reviewed. :)

I think you need to actually add them as reviewers?