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
This commit is contained in:
Martin Matuska 2010-05-01 20:44:37 +00:00
parent 9ccdc9600e
commit df04ddbaa6

View File

@ -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.