Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Feb 2010 12:32:44 +0200
From:      Nikolay Denev <ndenev@gmail.com>
To:        Harald Schmalzbauer <h.schmalzbauer@OmniLAN.de>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: ZFS write stalls (starving reads) and tuning zfs_write_limit_override
Message-ID:  <1C136B0A-E98F-4F93-8480-7FACD3FE4E4B@gmail.com>
In-Reply-To: <4B8649F4.4070303@omnilan.de>
References:  <4B8649F4.4070303@omnilan.de>

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

--Apple-Mail-6-1023955540
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On Feb 25, 2010, at 11:59 AM, Harald Schmalzbauer wrote:

> Hello,
>=20
> I found your very interesting patch: =
http://lists.freebsd.org/pipermail/freebsd-fs/2010-February/007818.html
> Unfortunately it seems to be -current since on -stable my dsl_pool.c =
looks entire different.
> My C skills don't allow me to adopt. Do you have any hints for me?
>=20
> Thanks,
>=20
> -Harry
>=20


Hi,

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=

--Apple-Mail-6-1023955540
Content-Disposition: attachment;
	filename=zfs_write_limit_override.patch
Content-Type: application/octet-stream; x-unix-mode=0644;
	name="zfs_write_limit_override.patch"
Content-Transfer-Encoding: 7bit

--- .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 = 0;
 extern uint64_t zfs_write_limit_min;
 
+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;
 
 static pgcnt_t old_physmem = 0;

--Apple-Mail-6-1023955540
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

):

--- =
.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;


Regards,
Niki Denev


--Apple-Mail-6-1023955540--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1C136B0A-E98F-4F93-8480-7FACD3FE4E4B>