aboutsummaryrefslogtreecommitdiffstats
path: root/include/os/freebsd/spl/sys/mod_os.h
diff options
context:
space:
mode:
authorTino Reichardt <[email protected]>2022-08-03 18:36:41 +0200
committerBrian Behlendorf <[email protected]>2022-09-16 14:25:53 -0700
commit75e8b5ad847ed7fd9e40ffdf33989b6578469903 (patch)
tree862c95e9d94b4c9223d601b0cba6f685147bdc67 /include/os/freebsd/spl/sys/mod_os.h
parent7dee043af5d9fce99611bca5863bf6ca28b741ba (diff)
Fix BLAKE3 tuneable and module loading on Linux and FreeBSD
Apply similar options to BLAKE3 as it is done for zfs_fletcher_4_impl. The zfs module parameter on Linux changes from icp_blake3_impl to zfs_blake3_impl. You can check and set it on Linux via sysfs like this: ``` [bash]# cat /sys/module/zfs/parameters/zfs_blake3_impl cycle [fastest] generic sse2 sse41 avx2 [bash]# echo sse2 > /sys/module/zfs/parameters/zfs_blake3_impl [bash]# cat /sys/module/zfs/parameters/zfs_blake3_impl cycle fastest generic [sse2] sse41 avx2 ``` The modprobe module parameters may also be used now: ``` [bash]# modprobe zfs zfs_blake3_impl=sse41 [bash]# cat /sys/module/zfs/parameters/zfs_blake3_impl cycle fastest generic sse2 [sse41] avx2 ``` On FreeBSD the BLAKE3 implementation can be set via sysctl like this: ``` [bsd]# sysctl vfs.zfs.blake3_impl vfs.zfs.blake3_impl: cycle [fastest] generic sse2 sse41 avx2 [bsd]# sysctl vfs.zfs.blake3_impl=sse2 vfs.zfs.blake3_impl: cycle [fastest] generic sse2 sse41 avx2 \ -> cycle fastest generic [sse2] sse41 avx2 ``` This commit changes also some Blake3 internals like these: - blake3_impl_ops_t was renamed to blake3_ops_t - all functions are named blake3_impl_NAME() now Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Ryan Moeller <[email protected]> Co-authored-by: Ryan Moeller <[email protected]> Signed-off-by: Tino Reichardt <[email protected]> Closes #13725
Diffstat (limited to 'include/os/freebsd/spl/sys/mod_os.h')
-rw-r--r--include/os/freebsd/spl/sys/mod_os.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/include/os/freebsd/spl/sys/mod_os.h b/include/os/freebsd/spl/sys/mod_os.h
index 95a19cc94..e2815ce9e 100644
--- a/include/os/freebsd/spl/sys/mod_os.h
+++ b/include/os/freebsd/spl/sys/mod_os.h
@@ -31,10 +31,6 @@
#include <sys/sysctl.h>
-#define EXPORT_SYMBOL(x)
-#define module_param(a, b, c)
-#define MODULE_PARM_DESC(a, b)
-
#define ZMOD_RW CTLFLAG_RWTUN
#define ZMOD_RD CTLFLAG_RDTUN
@@ -98,6 +94,9 @@
#define fletcher_4_param_set_args(var) \
CTLTYPE_STRING, NULL, 0, fletcher_4_param, "A"
+#define blake3_param_set_args(var) \
+ CTLTYPE_STRING, NULL, 0, blake3_param, "A"
+
#include <sys/kernel.h>
#define module_init(fn) \
static void \