ZFS write stalls (starving reads) and tuning zfs_write_limit_override

Nikolay Denev ndenev at gmail.com
Thu Feb 25 10:32:54 UTC 2010


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

> Hello,
> 
> 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?
> 
> Thanks,
> 
> -Harry
> 


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: zfs_write_limit_override.patch
Type: application/octet-stream
Size: 619 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20100225/4889e466/zfs_write_limit_override.obj
-------------- next part --------------
):

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


Regards,
Niki Denev



More information about the freebsd-fs mailing list