Subject: Re: sun3/sun3x kernel problems
To: Perry Hutchison <perryh@pluto.rain.com>
From: Alex Barclay <alex@tfo-consulting.com>
List: port-sun3
Date: 12/20/1999 14:05:04
On Fri, 17 Dec 1999, Perry Hutchison wrote:

> >    3) I'm also getting occasional "ie0: DMA underflow" messages on the
> > 3/4xx. Haven't seen it on the 3/50s and 3/60s, so it may be in the ie
> > driver. This appears to be harmless, since the data always seems to be
> > intact. It shows up when transfering very large (dozens of megabytes)
> > files via FTP.

I have a 3/4xx and used to get the same problems, it was generally because
the ethernet card had to write the data all the way to the physical memory
over VME and at high transfer rates it couldn't keep up. I guess the CPU
got higher priority with the bus arbitration.

I fixed this with some code to enable the on board system cache. It gave
about a 2x speedup with the machine. But It's a sad day as my machine has
died. Regular SunOS won't boot, my syscache enabled NetBSD won't boot but
the regular 1.4.1 NetBSD will boot so I think I have a failed cache ram
(or more depressingly, associated logic).

The data path with the syscache enabled becomes, ether -> syscache -> cpu
and you can generally avoid the main memory all together. I got close to
but never managed to get the io cache enabled. Unlike the syscache which
looks after itself the io cache needs to be manually flushed after the
transfer - it flushes to the syscache.

If you really want some zip and you can tag a request as an NFS server you
should be able to get a disk transfer into the io cache and send it out on
ethernet without ever going through the syscache or memory.

You're welcome to my syscache changes but I'm not exactly working hard on
these for the above reasons :-(

Pitty, it's a nice machine and my wife says it keeps the basement nice and
warm.

Alex