Subject: Re: memory stats on softupdates
To: None <tech-kern@netbsd.org>
From: Andrew Doran <ad@netbsd.org>
List: tech-kern
Date: 09/14/2007 17:16:56
On Fri, Sep 14, 2007 at 11:51:00AM -0400, George Georgalis wrote:

> I've been working on reproducing an archive (with public data)
> that causes a kernel panic on netbsd-3 and RC1. It was suggested
> I use sysctl to get stats on how much memory softupdates is using,
> but that seems available in FreeBSD only.
> 
> Is there a way I can get memory stats for soft updates in a netbsd
> generic?  It would also be useful to know how many pipe resources
> are being used.
> 
> Maybe there is some other resources I could look at too? The
> crash happens when extracting a 21Gb tar.bz2 archive with lots of
> hardlinks and data with 10:1 compression ratio.

Yes, have a look at the output of vmstat -m. The softdep pools are as below
Obviously this system is not running softdep, so there are no numbers. You
probably also want to track the number of buffers in use. Look at the buf*
pools and/or use 'systat bufcache'.

The maximum number of softdep operations is bounded by max_softdeps, by
default it's set to:

	max_softdeps = desiredvnodes * 4;

Andrew

Memory resource pool statistics
Name        Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
sdpcpool     124        0    0        0     0     0     0     0     0   inf    0
pagedeppl     68        0    0        0     0     0     0     0     0   inf    0
inodedeppl    88        0    0        0     0     0     0     0     0   inf    0
newblkpl      36        0    0        0     0     0     0     0     0   inf    0
bmsafemappl   36        0    0        0     0     0     0     0     0   inf    0
allocdirectpl 80        0    0        0     0     0     0     0     0   inf    0
indirdeppl    32        0    0        0     0     0     0     0     0   inf    0
allocindirpl  64        0    0        0     0     0     0     0     0   inf    0
freefragpl    40        0    0        0     0     0     0     0     0   inf    0
freeblkspl   172        0    0        0     0     0     0     0     0   inf    0
freefilepl    36        0    0        0     0     0     0     0     0   inf    0
diraddpl      36        0    0        0     0     0     0     0     0   inf    0
mkdirpl       32        0    0        0     0     0     0     0     0   inf    0
dirrempl      36        0    0        0     0     0     0     0     0   inf    0
newdirblkpl   20        0    0        0     0     0     0     0     0   inf    0