Subject: Re: Merging SIO from FreeBSD
To: Robert Shady <rls@zeus.id.net>
From: Adam Glass <glass@sun-lamp.cs.berkeley.edu>
List: current-users
Date: 04/18/1994 15:08:39
; Has anybody else looked at the SIO driver from FreeBSD?  I'm still
; working on that DigiBoard driver, and have fiddling around with COM.C,
; it's making me wonder if there isn't a better way..
; 

We don't think so.  sio is pretty awful and violates a whole bunch of
device-driver rules.  We won't hack the tty layer for the pc com
driver.  It just isn't necessary.

the current com stuff is clean and has room for enhancement.

; I've started to go off on a tangent and make a seperate driver, but I
; think it would be nicer if I could interface COM.C, SIO.C, DIGI.C, and
; AST.C into one driver instead of having all seperate ones.

No.  The COM/AST split is a good one.  The dumb multiport boards
amount to common irqs/interrupt detection for a pile of uarts.  Thus
the ast.c is a small, well contained piece of code containing the ast
framework for its component uarts.

; I have
; HEARD that the FreeBSD SIO driver get's excellent performance, and I
; get crappy performance with my COM driver (No offense Chris, excellent
; effort!).  Is there a way to get the SIO driver to work with NetBSD or
; should I just start over from scratch?  The source didn't look very
; pretty...
; 
; 		-- Rob
; 

I personally find the current com driver quite satisfactory in terms
of performance.  However, I recommend strongly that you concentrate
your energies on altering the existing com driver to meet your
performance requirements, instead of trying to port sio.  One
optimization that occurs to me right off the bat is to ratchet the
fifo depth based on the baud rate+perhaps the average depth of the
fifo on a receive interrupt.  This should improve interactive
performance.

later,
Adam Glass

------------------------------------------------------------------------------