diff options
author | Alexander Motin <[email protected]> | 2023-10-24 17:35:25 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2023-10-24 14:35:25 -0700 |
commit | 252f46be7d8f2a7480a99b671004c463311e28b0 (patch) | |
tree | 581725d3d133c15fc150188939f655eafed2f487 /man/man4 | |
parent | e007908a1644cd78d39cfe1c28f80c7c46f2e893 (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.4 | 9 |
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. |