*BSD News Article 30413


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!convex!convex!news.duke.edu!eff!news.kei.com!ddsw1!panix!not-for-mail
From: tls@panix.com (Thor Lancelot Simon)
Newsgroups: comp.unix.bsd
Subject: Re: BSD for the Sun386i
Date: 14 May 1994 04:16:32 -0400
Organization: PANIX Public Access Internet and Unix, NYC
Lines: 58
Message-ID: <2r21d0$pls@panix2.panix.com>
References: <2qcljn$gqt@norm.eng.gtefsd.com> <2qk8uf$kok@panix2.panix.com> <Boyt076.dysonj@delphi.com> <2r16me$363@keyhole.ucsd.edu>
NNTP-Posting-Host: panix2.panix.com

In article <2r16me$363@keyhole.ucsd.edu>,
Eric Dorman <eld@keyhole.ucsd.edu> wrote:
>Hi all.
>>>
>>>Uh...almost, at best.
>>>
>>>Can we say, "sio and hacks on the tty code", kids?
>>>
>>>There, I knew we could.
>> 
>>Yes, FreeBSD uses ring-buffers instead of clists -- can we say theoretically
>>faster... I thought you could...
>
>[deleted]
>
>>BTW, sorry, for the smart-alecky response.  I personally would prefer
>>that we (FreeBSD) used clists, but we dont.  I would rather throw away
>>an unmeasurable performance advantage for compatibility.  But thats the
>>breaks!!!
>>John
>>dyson@implode.root.com
>
>Many moons ago (85?) we had some Intel Multibus I 80286 boxes running Xenix 3.0.
>We used them to do simple editing and playback of seismic data recorded on 
>4-track reel-to-reel tape.  When playing back, the data came out at
>(i forget) I think 8x real time, which worked out to be about 19100bits/sec
>sustained rate.  The Intel machines were able to pickup the stream without 
>dropping a bit and have some umpf left over.  Heh
>
>Then Intel, in its infinite wisdom, replaced the clist system with 256byte
>ring buffers.  Now we could *barely* able to keep up with the stream; doing
>anything caused the ring buffer to fill up and data got lost.  Awwwwwwwwww!
>Editing serial data was a *real* pain; searching for sync words, hacking
>bits back in, updating time. ARGH!

Take a look at SunOS zs driver performance under 3.X and 4.X.  You don't see
many characters dropped due to ring buffer overflow on a 3/50 doing 38.4 on
one serial port; but a 4/60 or /65 drops a *lot* of characters under those
conditions.  Of course, the ring buffers on the 3.5 can't overflow, since it
uses clists.

:-)

Yeah, there are a lot of other differences between the two drivers, like
STREAMS-ness, and ugly recycled bits of asm from the 3.X zs driver that don't
fit well into the 4.X one.  But ring buffers aren't the be-all and end-all of
serial driver speed.  In fact, I'd love to be convinced that they're any kind
of substantial win over clists at all.

>Moral:
>Not all applications are (were :) ) created equal.

Nor all implementations, either.
-- 
Thor Lancelot Simon	                                           tls@panix.COM
   But as he knew no bad language, he had called him all the names of common
  objects that he could think of, and had screamed: "You lamp!  You towel!  You
  plate!" and so on.              --Sigmund Freud