*BSD News Article 2873


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel!munnari.oz.au!sgiblab!sdd.hp.com!decwrl!deccrl!news.crl.dec.com!pa.dec.com!ninja!fungus.zso.dec.com!mbs
From: mbs@fungus.zso.dec.com (Michael Schmitz)
Subject: Adaptec SCSI bug?
Message-ID: <1992Jul30.210037.9265@ninja.zso.dec.com>
Sender: news@ninja.zso.dec.com (USENET News System)
Nntp-Posting-Host: fungus.zso.dec.com
Organization: Digital Equipment Corporation - DECwest Engineering
Date: Thu, 30 Jul 1992 21:00:37 GMT
Lines: 25

In trying to figure out why my 386BSD 0.1 sometimes hangs during
heavy disk I/O, I noticed the following in the adaptec driver:

In i386/isa/as.c NSCATTER is set to 17, but the adaptec documentation
gives the maximum size for a scatter/gather array as 16.  Scatter/gather 
is always used, so that the data area pointed to by b_addr (in a struct
buf) may be backed by physically contiguous pages or not.  

Question:  Can the physical pages backing a struct buf ever be not
physically contiguous?  If contiguous, then scatter/gather is not
needed at all.

Question:  Are struct bufs (data area) limited to 8K?  In this case
(allowing for rounding) the loop that collects the scatter/gather
info would only execute at most three times anyway.

By the way, I'm using 32 Megs for swap, so it can be a swap resource
problem.

					--Michael--
					mbs@zso.dec.com