From bef78122e606945efbf2e08845e7d5e8ead93c3c Mon Sep 17 00:00:00 2001 From: David Quigley Date: Tue, 7 Feb 2017 10:44:03 -0700 Subject: [PATCH] Add missing module_param for zfs_per_txg_dirty_frees_percent When the code was added this tunable was not exposed via module params. Also it was not documented. This patch changes the type from a uint32 to a ulong as done with other percentage tunables and also documents it in the zfs-module-parameters man page. Reviewed-by: Brian Behlendorf Signed-off-by: David Quigley Closes #5750 --- man/man5/zfs-module-parameters.5 | 16 ++++++++++++++++ module/zfs/dmu.c | 7 ++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/man/man5/zfs-module-parameters.5 b/man/man5/zfs-module-parameters.5 index 8b9a4e8cc..b1c99cb17 100644 --- a/man/man5/zfs-module-parameters.5 +++ b/man/man5/zfs-module-parameters.5 @@ -1438,6 +1438,22 @@ The number of bytes which should be prefetched during a pool traversal Default value: \fB52,428,800\fR. .RE +.sp +.ne 2 +.na +\fBzfs_per_txg_dirty_frees_percent \fR (ulong) +.ad +.RS 12n +Tunable to control percentage of dirtied blocks from frees in one TXG. +After this threshold is crossed, additional dirty blocks from frees +wait until the next TXG. +A value of zero will disable this throttle. +.sp +Default value: \fB30\fR and \fB0\fR to disable. +.RE + + + .sp .ne 2 .na diff --git a/module/zfs/dmu.c b/module/zfs/dmu.c index b0bceac25..4e62e0435 100644 --- a/module/zfs/dmu.c +++ b/module/zfs/dmu.c @@ -65,7 +65,7 @@ int zfs_nopwrite_enabled = 1; * wait until the next TXG. * A value of zero will disable this throttle. */ -uint32_t zfs_per_txg_dirty_frees_percent = 30; +unsigned long zfs_per_txg_dirty_frees_percent = 30; const dmu_object_type_info_t dmu_ot[DMU_OT_NUMTYPES] = { { DMU_BSWAP_UINT8, TRUE, "unallocated" }, @@ -2228,10 +2228,15 @@ EXPORT_SYMBOL(dmu_assign_arcbuf); EXPORT_SYMBOL(dmu_buf_hold); EXPORT_SYMBOL(dmu_ot); +/* BEGIN CSTYLED */ module_param(zfs_mdcomp_disable, int, 0644); MODULE_PARM_DESC(zfs_mdcomp_disable, "Disable meta data compression"); module_param(zfs_nopwrite_enabled, int, 0644); MODULE_PARM_DESC(zfs_nopwrite_enabled, "Enable NOP writes"); +module_param(zfs_per_txg_dirty_frees_percent, ulong, 0644); +MODULE_PARM_DESC(zfs_per_txg_dirty_frees_percent, + "percentage of dirtied blocks from frees in one TXG"); +/* END CSTYLED */ #endif