Subject: SCC silo overruns overruns
To: None <francus@yossi.com>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-pmax
Date: 09/28/1995 12:52:25
>When I run Ultrix, my printer is on /dev/tty00 and my modem is one
>/dev/tty01. The major number is 45 minor is 2 and 3

>This translates on netbsd to tty0 and tty1, major number 17 minor number
>2 and 3.

I could easily change the major numbers, if that'd help anyone.


>The modem works fine off of tty1, however when I send anything to tty0
>the output comes to the bottom left corner of my terminal. 

I don't understand.  You mean the output is at the bottom left of a
framebuffer glass-tty display? (All the serial lines are allocated, I
can't think what other kind of terminal you'd be using, except perhaps
rlogin/telnet and a pty).  In either case, that's _very_ weird.


>Second issue: Under Ultrix I run pppd at 19200, the modem actually kicks
>it down to 14400 with compression. Under netbsd, 9600, runs fine, but
>when I kick it up to a higher speed I get a message:
>
>/netbsd: scc0,silo overflow

The interrupt structure on the 3MIN is awful.  The kernel has to
disable _all_ device interrupts to meet the mutex guarantees of splxxx().

That aside, there _does_ seem to be a problem with interrupt latency
on the pmax (and in 4.4bsd/pmax, too.) I'm not sure how to reduce that
latency other than by some significant re-writing of the locore
assembly glue.  I don't have time for that right now. (I'd be glad to
give hints to someone willing to try.)

Also, what does your vmstat -i output say about interrupt rate?


One obvious solution is to write drivers that use IOASIC DMA
to send  up to 1kbytes to or from an SCC with one interrupt.
I won't even _start_ on that until November.  If someone else wants
to work on this, I can send them some prelimianry IOASIC dma
state and mapping code I wrote for the scsi drivers.


>I would like to kick up the speed since 14400 with compression almost
>triples the throughput that I get at 9600.

That's impossible, unless your 3MIN isn't even sustaining 9600.  At
19200 with compression, the pipe between your 3MIN and the modem is
only twice as wide as at 9600, so _regardless_ of what the modem is
doing, it only gets data twice as fast as at 9600.  So it can't get
any more than twice the throughput.