Subject: recent merge (brelse(), etc.) from vmlocking improved LFS stability
To: None <current-users@netbsd.org>
From: Blair Sadewitz <blair.sadewitz@gmail.com>
List: current-users
Date: 10/09/2007 23:32:49
After these changes, I tried LFS again, as I was
curious to see if anything acted/performed differently.

My observations thusfar:

(1) Vastly decreased propensity to freeze/deadlock/panic during lots
of metadata operations.

(2) I tried turning off vfs.lfs.ignore_lazy_sync:  Previously, this
would result in additional instability.  This is no longer the case.
In fact, it seems almost as if trickle sync's behavior no longer
belies its name:  I'm building the source tree with -j4 now, and the
interrupt rate is fairly constant.  Not only that, but the HDD LED is
blinking (perhaps 2-4 times per second) at a steady rate!  I'm so used
to it writing out all the dirty data at once that this is almost
surreal. ;)

There could be other recent improvements responsible for this; anyone
have any ideas?  Comments?  If anyone wants to test LFS on -current
(4.99.32 as of yesterday/today), I'd be interested if you notice the
same thing.

Thanks, ad@ (and others) for the excellent work.

Regards,

--Blair

P.S. Here are [possibly] relevant non-default sysctls that I am using:

vfs.lfs.clean_vnhead=1
vfs.lfs.ignore_lazy_sync=0
kern.maxvnodes=1048576 # could be 1/2, 1/4, or 1/8
                       # of this
vm.swapout=0

Additionally, I've been using either BUFQ_PRIOCSCAN (burst values of
512, 128, 64, and sstf-a-like option enabled) or BUFQ_FCFS as my queue
strategy.