ZFS (ARC) performance regression in r321610
Yamagi Burmeister
lists at yamagi.org
Tue Aug 28 09:06:11 UTC 2018
On Tue, 28 Aug 2018 10:50:48 +0200
Yamagi Burmeister <lists at yamagi.org> wrote:
> ZFS on Linux exposes zfs_abd_scatter_enabled through a module
> parameter. What about turning it into a sysctl? Something like this:
Ups, there sneaked an unrelated edit into the patch. New version here:
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/abd.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/abd.c
index 2cd87c2b87b..5de74ef3325 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/abd.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/abd.c
@@ -140,6 +140,13 @@ static abd_stats_t abd_stats = {
*/
boolean_t zfs_abd_scatter_enabled = B_TRUE;
+#if defined(__FreeBSD__) && defined(_KERNEL)
+SYSCTL_DECL(_vfs_zfs);
+
+SYSCTL_UINT(_vfs_zfs, OID_AUTO, abd_scatter_enabled, CTLFLAG_RWTUN,
+ &zfs_abd_scatter_enabled, 1, "Make all future ABDs linear");
+#endif
+
/*
* The size of the chunks ABD allocates. Because the sizes allocated from the
* kmem_cache can't change, this tunable can only be modified at boot. Changing
@@ -151,8 +158,6 @@ boolean_t zfs_abd_scatter_enabled = B_TRUE;
size_t zfs_abd_chunk_size = 4096;
#if defined(__FreeBSD__) && defined(_KERNEL)
-SYSCTL_DECL(_vfs_zfs);
-
SYSCTL_ULONG(_vfs_zfs, OID_AUTO, abd_chunk_size, CTLFLAG_RDTUN,
&zfs_abd_chunk_size, 0, "The size of the chunks ABD allocates");
#endif
--
Homepage: https://www.yamagi.org
Github: https://github.com/yamagi
GPG: 0x1D502515
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20180828/0b963fae/attachment.sig>
More information about the freebsd-fs
mailing list