Subject: Re: CG6 and serial port support questions
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Don Lewis <gdonl@gv.ssi1.com>
List: port-sun3
Date: 03/05/1996 21:16:03
On Mar 5, 6:46pm, Jason Thorpe wrote:
} Subject: Re: CG6 and serial port support questions
} On Tue, 5 Mar 1996 20:56:44 -0500 (EST)
} David Gilbert <dgilbert@jaywon.pci.on.ca> wrote:
}
} > Rick> When Sun switched from 68k to sparc, the decided that ring
} > Rick> buffers were a good thing as compared to clists. Thus, a Sun
} > Rick> 3/60 had better serial throughput than a sparc 1+.
This change is old enough that it predates my experience with Suns, but
I believe the change was from clists to a ring buffer + STREAMS. My
impression is that clists aren't wonderful, but the STREAMS change is
why performance sucks. So far as I know, SunOS always used the same
serial port drivers on their 68k boxes as on the SPARC boxes for a given
OS release. It's just that there haven't been many pre-STREAMS SunOS
releases on the SPARC (I think 3.2 was it). You're probably thinking
of this quote from Van Jacobson:
Note that in Sun OS 4.x, slip runs over a "streams" tty driver
where much of the underlying support code was taken from AT&T's
System-V Unix. This support code is incredibly bad: A Sun-3/50
will run both it's serial ports at 38,400 baud with no problems
under Sun OS 3.x (which uses the Berkeley/V7 tty driver). That
same 3/50 can not keep up with one serial port running at 9600 baud
under Sun OS 4.0.3. The AT&T code also doesn't handle any kind of
exception correctly: If it runs out of stream buffers or gets a signal
or interrupt at the wrong time, the system will crash. So, run
Sun OS 3 if you have any choice. If you have no choice, try this
stuff but don't expect reasonable performance or robustness.
} Why? NetBSD/sun3 uses the same tty code as NetBSD/sparc...If I
} understand the SunOS change, it was something that happened around or
} after 4.1.1...
The switchover to STREAMS happened at 4.0. I still remember YAPT (yet
another patch tape) that contained serial I/O fixes for an early 4.0.x
release. The drivers were improved in 4.0.3 and 4.1.x, but still ...
--- Truck