Interesting apparent increased instability and eventual death after memory/CPU upgrade on a 2.0.36 h

Anthony Barbachan (barbacha@Hinako.AMBusiness.com)
Wed, 17 Mar 1999 02:22:08 -0500


This is an interesting situation perhaps related to a kernel bug in
2.0.36? After giving a heavily used server a CPU and memory upgrade I have
been getting "Running low on DMA buffers" warning at times when accessing a
SCSI CDROM (also at least once during the access of a SCSI tape) on a
Adaptec 1542B. The only other SCSI device on the chain is a hard drive
which receives moderate to heavy useage by samba and NFS. Several other
non-SCSI devices are also present but do not exibit any unusual behavior.
(modems, both internal and external, a Digiboard X/EVE 2 port serial board,
EIDE hard drive, 3c509B network card, printer) Before the memory and CPU
upgrade this server was functioning very well despite its limited resources.
The upgrade consisted of a doubling of the memory to 32MB (from 16MB) and
the swaping of the Pentium 75 processor to a Pentium 90. Both parts should
be perfectly fine as they were previously present and functioning correctly
in other systems. In any case after several days of getting ocassional
"Running low on DMA buffers when accessing the tape and/or CDROM drive today
the machine died when mounting a CDROM (perhaps a very relevent fact, the
SCSI hard drive was under heavy useage by Samba at the time). I got a bunch
of running low on DMA buffers, just like before, then several messages
stating that the Adaptec was swithing to regular I/O. Finally I got a
kernel panic, "trying to free page," and the system froze completely dead,
not even an Ooops. I have an idea more or less why this is happening; as
the Adaptec SCSI card is ISA it can't do DMA over the first 16MB of memory
and since before all the memory was below this barrier it was probably quite
simple before for the kernel to free up some memory for a DMA buffer.
However I have used a similar SCSI card on my personal system (an Adapter
1542CF) which has 128MB with no problems (although it is much less used
there). Is this a known 2.0.36 issue and is there a fix for it? Would an
upgrade to 2.2.3 on the afflicted server aliviate the problem?

In case I need to modify the source to implement my own fix to this
problem; this is what I currently have in mind. Allocate a pool of ISA DMA
capable memory upon the Adapter driver's initialization, from which the
driver will get buffers for DMA memory requests (Best case would be a pool
big enougth to accomodate all possible concurrent SCSI DMA usuages; anyone
have any idea how big that would have to be?). Suggestions, ideas, comments
welcome.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/