]> git.proxmox.com Git - mirror_zfs.git/commit
ZIL: Detect single-threaded workloads
authorAlexander Motin <mav@FreeBSD.org>
Tue, 24 Oct 2023 21:35:25 +0000 (17:35 -0400)
committerGitHub <noreply@github.com>
Tue, 24 Oct 2023 21:35:25 +0000 (14:35 -0700)
commit252f46be7d8f2a7480a99b671004c463311e28b0
tree581725d3d133c15fc150188939f655eafed2f487
parente007908a1644cd78d39cfe1c28f80c7c46f2e893
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 <behlendorf1@llnl.gov>
Reviewed-by: Prakash Surya <prakash.surya@delphix.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #15381
include/sys/zil_impl.h
man/man4/zfs.4
module/zfs/zil.c