aboutsummaryrefslogtreecommitdiffstats
path: root/man/man4
diff options
context:
space:
mode:
authorAlexander Motin <[email protected]>2023-10-24 17:35:25 -0400
committerGitHub <[email protected]>2023-10-24 14:35:25 -0700
commit252f46be7d8f2a7480a99b671004c463311e28b0 (patch)
tree581725d3d133c15fc150188939f655eafed2f487 /man/man4
parente007908a1644cd78d39cfe1c28f80c7c46f2e893 (diff)
ZIL: Detect single-threaded workloads
... by checking that previous block is fully written and flushed. It allows to skip commit delays since we can give up on aggregation in that case. This removes zil_min_commit_timeout parameter, since for single-threaded workloads it is not needed at all, while on very fast devices even some multi-threaded workloads may get detected as single-threaded and still bypass the wait. To give multi-threaded workloads more aggregation chances increase zfs_commit_timeout_pct from 5 to 10%, as they should suffer less from additional latency. Also single-threaded workloads detection allows in perspective better prediction of the next block size. Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Prakash Surya <[email protected]> Signed-off-by: Alexander Motin <[email protected]> Sponsored by: iXsystems, Inc. Closes #15381
Diffstat (limited to 'man/man4')
-rw-r--r--man/man4/zfs.49
1 files changed, 1 insertions, 8 deletions
diff --git a/man/man4/zfs.4 b/man/man4/zfs.4
index 5f89f6adf..7073cf4ee 100644
--- a/man/man4/zfs.4
+++ b/man/man4/zfs.4
@@ -798,7 +798,7 @@ Note that this should not be set below the ZED thresholds
(currently 10 checksums over 10 seconds)
or else the daemon may not trigger any action.
.
-.It Sy zfs_commit_timeout_pct Ns = Ns Sy 5 Ns % Pq uint
+.It Sy zfs_commit_timeout_pct Ns = Ns Sy 10 Ns % Pq uint
This controls the amount of time that a ZIL block (lwb) will remain "open"
when it isn't "full", and it has a thread waiting for it to be committed to
stable storage.
@@ -2155,13 +2155,6 @@ This sets the maximum number of write bytes logged via WR_COPIED.
It tunes a tradeoff between additional memory copy and possibly worse log
space efficiency vs additional range lock/unlock.
.
-.It Sy zil_min_commit_timeout Ns = Ns Sy 5000 Pq u64
-This sets the minimum delay in nanoseconds ZIL care to delay block commit,
-waiting for more records.
-If ZIL writes are too fast, kernel may not be able sleep for so short interval,
-increasing log latency above allowed by
-.Sy zfs_commit_timeout_pct .
-.
.It Sy zil_nocacheflush Ns = Ns Sy 0 Ns | Ns 1 Pq int
Disable the cache flush commands that are normally sent to disk by
the ZIL after an LWB write has completed.