summaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorTyler J. Stachecki <[email protected]>2016-06-23 23:32:40 -0400
committerBrian Behlendorf <[email protected]>2016-07-15 10:42:35 -0700
commit35a76a0366372d89a0f1ac3cebd5bc7646aadec3 (patch)
treec5a736ca9254afde0f65a0991efd9da216fa112a /man
parentdfbc86309fd8ebb70a55cafa876320dc1ea8e833 (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 'man')
-rw-r--r--man/man5/zfs-module-parameters.514
1 files changed, 9 insertions, 5 deletions
diff --git a/man/man5/zfs-module-parameters.5 b/man/man5/zfs-module-parameters.5
index 7b0199de2..79855e72d 100644
--- a/man/man5/zfs-module-parameters.5
+++ b/man/man5/zfs-module-parameters.5
@@ -838,11 +838,15 @@ Default value: \fB67,108,864\fR.
.RS 12n
Select a fletcher 4 implementation.
.sp
-Supported selectors are: \fBfastest\fR, \fBscalar\fR, and \fBavx2\fR when
-AVX2 is supported by the processor. If multiple implementations of fletcher 4
-are available the \fBfastest\fR will be chosen using a micro benchmark.
-Selecting \fBscalar\fR results in the original CPU based calculation being
-used, \fBavx2\fR uses the AVX2 vector instructions to compute a fletcher 4.
+Supported selectors are: \fBfastest\fR, \fBscalar\fR, \fBsse2\fR, \fBssse3\fR,
+and \fBavx2\fR. All of the selectors except \fBfastest\fR and \fBscalar\fR
+require instruction set extensions to be available and will only appear if ZFS
+detects that they are present at runtime. If multiple implementations of
+fletcher 4 are available, the \fBfastest\fR will be chosen using a micro
+benchmark. Selecting \fBscalar\fR results in the original CPU based calculation
+being used. Selecting any option other than \fBfastest\fR and \fBscalar\fR
+results in vector instructions from the respective CPU instruction set being
+used.
.sp
Default value: \fBfastest\fR.
.RE