summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/release-notes/3.10.0.md47
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/release-notes/3.10.0.md b/doc/release-notes/3.10.0.md
index b08dd273d0e..0de25b2574d 100644
--- a/doc/release-notes/3.10.0.md
+++ b/doc/release-notes/3.10.0.md
@@ -197,6 +197,53 @@ The above option is on by default.
*Known Issues:*
+### Added support for CPU extensions in disperse computations
+*Notes for users:*
+To improve disperse computations, a new way of generating dynamic code
+targeting specific CPU extensions like SSE and AVX on Intel processors is
+implemented. The available extensions are detected on run time. This can
+roughly double encoding and decoding speeds (or halve CPU usage).
+
+This change is 100% compatible with the old method. No change is needed if
+an existing volume is upgraded.
+
+You can control which extensions to use or disable them with the following
+command:
+
+```bash
+# gluster volume set <volname> disperse.cpu-extensions <type>
+```
+
+Valid <type> values are:
+
+* none: Completely disable dynamic code generation
+* auto: Automatically detect available extensions and use the best one
+* x64: Use dynamic code generation using standard 64 bits instructions
+* sse: Use dynamic code generation using SSE extensions (128 bits)
+* avx: Use dynamic code generation using AVX extensions (256 bits)
+
+The default value is 'auto'. If a value is specified that is not detected on
+run-time, it will automatically fallback to the next available option.
+
+*Limitations:*
+
+*Known Issues:*
+To solve a conflict between the dynamic code generator and SELinux, it
+has been necessary to create a dynamic file on runtime in the directory
+/usr/libexec/glusterfs. This directory only exists if the server package
+is installed. On nodes with only the client package installed, this directory
+won't exist and the dynamic code won't be used.
+
+It also needs root privileges to create the file there, so any gfapi
+application not running as root won't be able to use dynamic code generation.
+
+In these cases, disperse volumes will continue working normally but using
+the old implementation (equivalent to setting disperse.cpu-extensions to none).
+
+More information and a discussion on how to solve this can be found here:
+
+https://bugzilla.redhat.com/1421649
+
## Bugs addressed
Bugs addressed since release-3.9 are listed below.