On Mon, 31 May 2010, Sandon Van Ness wrote:
6586537 async zio taskqs can block out userland commands

Bob
I am using opensolaris snv_134:

r...@opensolaris: 01:32 PM :~# uname -a
SunOS opensolaris 5.11 snv_134 i86pc i386 i86pc

Is there a setting that to change the cpu scheduler for the ZFS process
or is it supposed to just be fixed out of the box? I figure if the
parity calculation process can be 'reniced' or something this problem
could likely be fixed as it ended up being CPU and not disk I/O like I
originally thought.

There are multiple factors at work. Your OpenSolaris should be new enough to have the fix in which the zfs I/O tasks are run in in a scheduling class at lower priority than normal user processes. However, there is also a throttling mechanism for processes which produce data faster than can be consumed by the disks. This throttling mechanism depends on the amount of RAM available to zfs and the write speed of the I/O channel. More available RAM results in more write buffering, which results in a larger chunk of data written at the next transaction group write interval. The maximum size of a transaction group may be configured in /etc/system similar to:

* Set ZFS maximum TXG group size to 2684354560
set zfs:zfs_write_limit_override = 0xa0000000

If the transaction group is smaller, then zfs will need to write more often. Processes will still be throttled but the duration of the delay should be smaller due to less data to write in each burst. I think that (with multiple writers) the zfs pool will be "healthier" and less fragmented if you can offer zfs more RAM and accept some stalls during writing. There are always tradeoffs.

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to