summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormm <mm@FreeBSD.org>2010-05-01 20:44:37 +0000
committermm <mm@FreeBSD.org>2010-05-01 20:44:37 +0000
commit65cf7aac0b30cb9fd2148329b46e43e6f9c6f382 (patch)
tree58f2aabbbc4db4ef94529da6396db03a8804cb59
parent54fb849ffcadd6a10a0953a595fd69fbc9693fea (diff)
downloadFreeBSD-src-65cf7aac0b30cb9fd2148329b46e43e6f9c6f382.zip
FreeBSD-src-65cf7aac0b30cb9fd2148329b46e43e6f9c6f382.tar.gz
Add sysctl and loader tunable vfs.zfs.txg.write_limit_override.
This tunable improves fine-tuning of ZFS write throttling. PR: kern/146108 Suggested by: Nikolay Denev <ndenev at gmail.com> Approved by: pjd, delphij (mentor) MFC after: 2 weeks
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
index 143b4b8..8650fa1 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
@@ -38,6 +38,7 @@ static void txg_quiesce_thread(void *arg);
int zfs_txg_timeout = 30; /* max seconds worth of delta per txg */
extern int zfs_txg_synctime;
+extern uint64_t zfs_write_limit_override;
SYSCTL_DECL(_vfs_zfs);
SYSCTL_NODE(_vfs_zfs, OID_AUTO, txg, CTLFLAG_RW, 0,
@@ -48,6 +49,11 @@ SYSCTL_INT(_vfs_zfs_txg, OID_AUTO, timeout, CTLFLAG_RDTUN, &zfs_txg_timeout, 0,
TUNABLE_INT("vfs.zfs.txg.synctime", &zfs_txg_synctime);
SYSCTL_INT(_vfs_zfs_txg, OID_AUTO, synctime, CTLFLAG_RDTUN, &zfs_txg_synctime,
0, "Target seconds to sync a txg");
+TUNABLE_QUAD("vfs.zfs.txg.write_limit_override", &zfs_write_limit_override);
+SYSCTL_QUAD(_vfs_zfs_txg, OID_AUTO, write_limit_override, CTLFLAG_RW,
+ &zfs_write_limit_override, 0,
+ "Override maximum size of a txg to this size in bytes, "
+ "value of 0 means don't override");
/*
* Prepare the txg subsystem.
OpenPOWER on IntegriCloud