Subject: Disk buffers
To: None <current-users@NetBSD.ORG>
From: Laine Stump <laine@MorningStar.Com>
List: current-users
Date: 02/24/1997 03:29:54
I have 5 P6-200s w128MB RAM connected by 100Mbit ethernet, using the
"customs" program and gmake patch from pmake to do large software builds
shared across the machines.

This is working very well up to a point, but I'm seeing abberrant
behavior in certain circumstances (when I try to do multiple makes
simultaneously). When I do one make at a time, the disk transfers (shown
from systat vmstat) stays between 120-350k/sec most of the time while
still keeping all 5 CPUs almost completely busy, but when I do 2 or more
makes, the behavior diverges after awhile, with disk stats showing
1500-1800k/sec while two or more of the CPUs are under 30%
utilized. This leads me to believe that the disk cache is large enough
that all the .h files remain in the cache from one cc to the next (and
for all the simultaneous cc's on multiple machines) if there is a single
build, but doing multiple makes puts just enough data through that stuff
starts to get flushed just before it is needed again.

So my question is - which knobs do I tweak to give myself more disk
cache? And do I need to do it just on the NFS server, or on the clients
as well?

On a slightly different note - during a pissing contest with a coworker
who is using FreeBSD for similar stuff (he only has one machine though -
I win!), I looked at build time with a single threaded make and saw
that, although user time for the entire make was within 5%, the system
time for mine (NetBSD 1.2 release) was nearly 40% more than his (FreeBSD
2.1.6). My kernel is compiled with -O2 -fomit-frame-pointer -m486, and
has all debugging and diagnostics removed. Has the kernel been
significantly streamlined since the release of 1.2 (ie, can I expect to
fare better against him when another release comes out (can't put
current on these machines - they're mission critical))?