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