Re: nbufkv hang?

From: Bruce Evans <bde_at_zeta.org.au>
Date: Tue, 10 Jun 2003 11:34:39 +1000 (EST)
On Mon, 9 Jun 2003, Garrett Wollman wrote:

> I just noticed my news server hanging in nbufkv state, apparently
> having hosed itself overnight (about 15 hours ago); expire was still
> running, although it was not the only process waiting.  I can't find
> anything in the -current archives from this century.  Any suggestions?

This means that the buffer map is fragmented, and the code to defragment
it has a bug.

> FWIW, most of the filesystems on this machine use 64k/8k blocks.

Block sizes larger than the BKVASIZE (default: 16K) are precisely what
is needed to check for bugs in the buffer map defragmentation code.
I wouldn't use them except to debug this code.  Fragmentation also
increases CPU overhead, perhaps significantly.

If you have virtual address space to spare (which is normal if you don't
need it for mbufs or use machine with more than 32 bits of virtual
address space), then you can prevent the fragmentation by increasing
BKVASIZE to a value large than all block sizes in use.  I use 64K for
it.  I also use some related fixes for broken scaling of nbuf.  nbuf
is reduced as BKVASIZE is increased, but that is wrong if there is
enough virtual address space to fit the larger BKVASIZE.

Bruce
Received on Mon Jun 09 2003 - 16:34:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:11 UTC