Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Feb 2010 14:01:32 +0200
From:      Nikolay Denev <ndenev@gmail.com>
To:        Sam Fourman Jr. <sfourman@gmail.com>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: ZFS write stalls (starving reads) and tuning zfs_write_limit_override
Message-ID:  <72D31CA4-110E-4A85-AA19-BD74AFFC94B1@gmail.com>
In-Reply-To: <11167f521002250358i46a09fb6j82aaddbd8e0b8334@mail.gmail.com>
References:  <4B8649F4.4070303@omnilan.de> <1C136B0A-E98F-4F93-8480-7FACD3FE4E4B@gmail.com> <11167f521002250358i46a09fb6j82aaddbd8e0b8334@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Feb 25, 2010, at 1:58 PM, Sam Fourman Jr. wrote:

>> Hi,
>>=20
>> What I posted was not a patch, but just the lines need to be added to =
dsl_pool.c and it should work for either 8 or CURRENT.
>> Here is a patch for 8-STABLE that I just generated, can you try that =
one (pasting in the email in case the email eats the attachment
>> ):
>>=20
>> --- =
.zfs/snapshot/orig/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool=
.c        2009-08-24 07:30:23.677549074 +0300
>> +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c   =
2010-02-19 09:17:50.058020997 +0200
>> @@ -47,6 +47,11 @@
>>  uint64_t zfs_write_limit_override =3D 0;
>>  extern uint64_t zfs_write_limit_min;
>>=20
>> +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");
>> +
>>  kmutex_t zfs_write_limit_lock;
>>=20
>>  static pgcnt_t old_physmem =3D 0;
>>=20
>=20
>=20
> what setting have you found to be the best for =
zfs_write_limit_override ?
>=20
> Sam Fourman Jr.
> Fourman Networks


Hi,

I think you should experiment. Here I have 2G of ram, and have found =
256M for the zfs_write_limit_override to provide
smooth writes without the stalls.=20
I started one console with zpool iostat -v 1 and started writing to one =
iSCSI exported zvol, and played with the sysctl until
the writes were steady.

Regards,
Niki Denev




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?72D31CA4-110E-4A85-AA19-BD74AFFC94B1>