btrfs-progs: docs: note about loading accelerated sha256

If there's CONFIG_CRYPTO_SHA256=y in /proc/config.gz and no line with
'sha256' in /proc/modules, then the mount will use the generic
implementation.

After 'modprobe sha256' there's 'sha256_ssse3' in /proc/modules and the
sysfs checksum file would show e.g. 'sha256-avx2'.

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2021-06-22 20:29:22 +02:00
parent 373def57ce
commit 0a020ba2d9

View File

@ -790,6 +790,32 @@ h| Digest h| Cycles/4KiB h| Ratio h| Implementation
| BLAKE2b | 19000 | 11 | libsodium/AVX2
|==================================================
Many kernels are configured with SHA256 as built-in and not as a module.
The accelerated versions are however provided by the modules and must be loaded
explicitly (*modprobe sha256*) before mounting the filesystem to make use of
them. You can check in '/sys/fs/btrfs/FSID/checksum' which one is used. If you
see 'sha256-generic', then you may want to unmount and mount the filesystem
again, changing that on a mounted filesystem is not possible.
Check the file '/proc/crypto', when the implementation is built-in, you'd find
--------------------
name : sha256
driver : sha256-generic
module : kernel
priority : 100
...
--------------------
while accelerated implementation is e.g.
--------------------
name : sha256
driver : sha256-avx2
module : sha256_ssse3
priority : 170
...
--------------------
COMPRESSION
-----------