*BSD News Article 3092


Return to BSD News archive

Path: sserve!manuel!munnari.oz.au!network.ucsd.edu!usc!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!ames!agate!soda.berkeley.edu!wjolitz
From: wjolitz@soda.berkeley.edu (William F. Jolitz)
Newsgroups: comp.unix.bsd
Subject: Re: Hang up on heavy disk load (Re: Adaptec SCSI bug?)
Message-ID: <15mv6cINN1o7@agate.berkeley.edu>
Date: 4 Aug 92 22:09:16 GMT
References: <1992Aug3.150008.188@cotton.nc.u-tokyo.ac.jp> <1992Aug3.195717.26165@aio.jsc.nasa.gov> <scott.712957192@pita>
Organization: U.C. Berkeley, CS Undergraduate Association
Lines: 21
NNTP-Posting-Host: soda.berkeley.edu

In article <scott.712957192@pita> scott@pita.cns.ucla.edu (Scott Burris) writes:
>...
>Well, if this is the same problem I've been having, the kernel is deadlocking
>sleeping on something called "temp" which appears to be a temporary
>memory allocator.  I've seen problems when I've built a new kernel
>and immediately try copying it into the root filesystem.  If I do a
>sync first and wait for it to complete, there's no problem.
>
>I'm running a 486/33 Opti chipset with 16M of memory, both IDE and SCSI
>disks.

The quick fix for this problem is to insert before line 170 of machdep.c
the following line:

	bufpages = min(NKMEMCLUSTERS/2, bufpages);

In a nutshell, the dynamically-allocated kernel memory is becoming too
fragmented. The correct fix for this problem is the subject of 386BSD
Release 0.2.

Bill.