svn commit: r206665 - head/sys/geom/eli
Ben Kelly
ben at wanderview.com
Tue Oct 12 20:22:17 UTC 2010
On Apr 15, 2010, at 12:34 PM, Pawel Jakub Dawidek wrote:
> Author: pjd
> Date: Thu Apr 15 16:34:06 2010
> New Revision: 206665
> URL: http://svn.freebsd.org/changeset/base/206665
>
> Log:
> Use lower priority for GELI worker threads. This improves system
> responsiveness under heavy GELI load.
Sorry to reply to such an old commit, but I wanted to note that this causes a regression on my server. It is probably fairly specific to my setup, so it may not make sense to fix, but I thought I should at least let you know.
My server is an old i386 with a zfs pool on top of a geli partition. When under heavy disk load the zfs subsystem can enter a message passing loop between the txg and zio threads until any queued disk i/o is flushed. With the geli worker threads at a lower priority this can lead to livelock since geli never gets scheduled to perform the flush. From my previous debugging efforts I believe this can only be triggered if the ARC is under heavy pressure and the processor is near, or at, 100% CPU utilization.
Here is the old thread on this issue:
http://old.nabble.com/-patch--zfs-livelock-and-thread-priorities-td22587022.html
On my local system I have simply reverted this change and bumped up the priority on the geli worker threads to PVM to match the priority used by the zio threads. Before doing this I could reliably trigger the livelock by running my backup process.
Anyway, its not clear to me what a good general purpose solution would be. I just wanted to note the issue in case anyone else encounters it.
Thanks.
- Ben
More information about the svn-src-head
mailing list