Date: Fri, 19 Feb 2010 09:42:34 +0200 From: Nikolay Denev <ndenev@gmail.com> To: freebsd-fs@freebsd.org Subject: ZFS write stalls (starving reads) and tuning zfs_write_limit_override Message-ID: <E90AFEFB-D773-4122-B6C3-F00887C54BE3@gmail.com>
next in thread | raw e-mail | index | archive | help
Hi,
I'm experiencing a problem mentioned numerous times in the OpenSolaris =
mailing lists,
and that is IO stalls while ZFS commits the current TXG, which starves =
all other IO.
One of the solutions proposed there was to tune the =
zfs_write_limit_override tunable,
so the maximum TXG size could be smaller than the default (that I think =
is auto-calculated from
the available system memory)
It seems that this is also available on FreeBSD but the tunable in =
question was not declared
az FreeBSD TUNABLE/SYSCTL, so I just went and added the following lines =
:
SYSCTL_DECL(_vfs_zfs);
TUNABLE_ULONG("vfs.zfs.write_limit_override", =
&zfs_write_limit_override);
SYSCTL_ULONG(_vfs_zfs, OID_AUTO, zfs_write_limit_override, CTLFLAG_RW, =
&zfs_write_limit_override, 0,
"Override maximum TXG size");
to src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c at line =
50
With this tunable I'm now able to throttle/limit the write bursts and =
this gives me a smoother
iSCSI writes as opposed to the 5 sec periodic drops to zero IOPS/MBs =
from before.
--
Regards,
Nikolay Denev
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E90AFEFB-D773-4122-B6C3-F00887C54BE3>
