diff options
author | Tyler J. Stachecki <[email protected]> | 2016-06-23 23:32:40 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-07-15 10:42:35 -0700 |
commit | 35a76a0366372d89a0f1ac3cebd5bc7646aadec3 (patch) | |
tree | c5a736ca9254afde0f65a0991efd9da216fa112a /lib | |
parent | dfbc86309fd8ebb70a55cafa876320dc1ea8e833 (diff) |
Implementation of SSE optimized Fletcher-4
Builds off of 1eeb4562 (Implementation of AVX2 optimized Fletcher-4)
This commit adds another implementation of the Fletcher-4 algorithm.
It is automatically selected at module load if it benchmarks higher
than all other available implementations.
The module benchmark was also amended to analyze the performance of
the byteswap-ed version of Fletcher-4, as well as the non-byteswaped
version. The average performance of the two is used to select the
the fastest implementation available on the host system.
Adds a pair of fields to an existing zcommon module parameter:
- zfs_fletcher_4_impl (str)
"sse2" - new SSE2 implementation if available
"ssse3" - new SSSE3 implementation if available
Signed-off-by: Tyler J. Stachecki <[email protected]>
Signed-off-by: Gvozden Neskovic <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #4789
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libzpool/Makefile.am | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/libzpool/Makefile.am b/lib/libzpool/Makefile.am index 9a06eae5b..b40e9787c 100644 --- a/lib/libzpool/Makefile.am +++ b/lib/libzpool/Makefile.am @@ -23,6 +23,7 @@ KERNEL_C = \ zfs_deleg.c \ zfs_fletcher.c \ zfs_fletcher_intel.c \ + zfs_fletcher_sse.c \ zfs_namecheck.c \ zfs_prop.c \ zfs_uio.c \ |