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_______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"