Subject: Re: CG6 and serial port support questions
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Don Lewis <gdonl@gv.ssi1.com>
List: port-sparc
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