summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2017-10-01 14:58:43 +0000
committeravg <avg@FreeBSD.org>2017-10-01 14:58:43 +0000
commitdcfc2bd7cd1285924c2dcad43a959a082ffb2903 (patch)
treeb5f180a0ab710b518885df3ec94514dcff98af21
parentf3ddf0f93c89dc9578ebf10214ced1ec97266d0a (diff)
downloadFreeBSD-src-dcfc2bd7cd1285924c2dcad43a959a082ffb2903.zip
FreeBSD-src-dcfc2bd7cd1285924c2dcad43a959a082ffb2903.tar.gz
MFC r323797: add vfs_zfs.abd_chunk_size tunable
It is reported that the default value of 4KB results in a substantial memory use overhead (at least, on some configurations). Using 1KB seems to reduce the overhead significantly. PR: 222377
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/abd.c7
1 files changed, 7 insertions, 0 deletions
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 94e5a22..2cd87c2 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/abd.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/abd.c
@@ -150,6 +150,13 @@ 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
+
#ifdef _KERNEL
extern vmem_t *zio_alloc_arena;
#endif
OpenPOWER on IntegriCloud