The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Bakul Shah <bakul@iitbombay.org>
To: "Theodore Y. Ts'o" <tytso@mit.edu>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: Re: [TUHS] 386BSD released
Date: Thu, 15 Jul 2021 22:51:11 -0700	[thread overview]
Message-ID: <A75B5962-43CC-4BFA-B20F-DD66913DB72D@iitbombay.org> (raw)
In-Reply-To: <YPEKScdjJCE+KMjj@mit.edu>

On Jul 15, 2021, at 9:25 PM, Theodore Y. Ts'o <tytso@mit.edu> wrote:
> 
> I remember a friendly rivalry that I had with Bruce D. Evans in
> Australia, who was working on the serial driver for FreeBSD, where we
> would exchange tips and techniques for making the serial driver on our
> respective OS's more CPU efficient.  (The metric was to see who could
> most reduce the system overhead of the serial interrupt and tty layers
> when running a C-Kermit file transfer over a pair of RS-232 ports
> connected via a loopback cable.)  It was a lot of fun, and we both
> gained a lot from the exchange of ideas, but finally, I came up with
> an idea (flip buffers) that really reduced Linux's serial/tty
> overhead, but which Bruce couldn't match in FreeBSD, because the
> FreeBSD core team thought that clists were handed down from Mount
> Olympus by the Gods of BSD, and making that kind of change in the tty
> layer was tantamount to heresy.  Heh.

Dave Yost wrote the serial driver for our 4 port serial card @ Fortune
(1981-82).  Later chips like NS16550 had 16 char on chip buffers but we
back then we used a Moto SIO chip that had only one char buffer.  IIRC,
he used two tricks. One was "partially evaluated" xmit/recv handlers so
that each port got its own xmit/recv functions, with hand-crafted
instructions (in hex, no less!) just right for a given port and all the
interry t handler . The  do was transfer a char from/to the buffer it
(lready knew about. The other was he increased the cblock size from 8 to 128
(what a clist points to). He says he described this design to dmr who said
why not?!  With this design Yost's code was able to handle 4 full-duplex
9600 baud streams at full-speed. Not bad for a 5.6Mhz clock machine!


  reply	other threads:[~2021-07-16  5:51 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-13 22:28 Dave Horsfall
2021-07-14  7:54 ` Michael Kjörling
2021-07-14  8:19   ` Angus Robinson
2021-07-14  8:32     ` Michael Kjörling
2021-07-14  9:07       ` Lars Brinkhoff
2021-07-14 14:09         ` Larry McVoy
2021-07-14 14:54           ` Warner Losh
2021-07-14 15:06             ` Richard Salz
2021-07-14 15:37             ` Steve Nickolas
2021-07-14 10:09       ` Tom Ivar Helbekkmo via TUHS
2021-07-14 10:39         ` arnold
2021-07-14 17:21         ` Lyndon Nerenberg (VE7TFX/VE6BBM)
2021-07-14 17:32           ` Richard Salz
2021-07-14 15:01     ` Clem Cole
2021-07-14 17:40       ` [TUHS] [COFF] " Theodore Y. Ts'o
2021-07-14 17:50         ` Larry McVoy
2021-07-14 18:28         ` Clem Cole
2021-07-14 11:49   ` [TUHS] " Andy Kosela
2021-07-14 15:48     ` Theodore Y. Ts'o
2021-07-16  1:35   ` Dave Horsfall
2021-07-16  2:33     ` risner
2021-07-16  4:25       ` Theodore Y. Ts'o
2021-07-16  5:51         ` Bakul Shah [this message]
2021-07-16 13:00           ` Theodore Y. Ts'o
2021-07-16 13:56             ` Larry McVoy
2021-07-16 14:40               ` Clem Cole
2021-07-16 15:44                 ` Theodore Y. Ts'o
2021-07-16 16:11               ` Bakul Shah
2021-07-16 19:07               ` Kevin Bowling
2021-07-16 20:17                 ` Clem Cole
2021-07-16 20:24                   ` Richard Salz
2021-07-18 13:13                     ` arnold
2021-07-18 13:23                       ` Richard Salz
2021-07-18 13:43                       ` [TUHS] MtXinu calendar (was Re: 386BSD released) Al Kossow
2021-07-18 13:51                         ` Al Kossow
2021-07-18 16:44                         ` Al Kossow
2021-07-18 17:38                           ` John Cowan
2021-07-18 18:35                           ` Bakul Shah
2021-07-19  3:06                             ` Dan Stromberg
2021-07-18 19:00                           ` arnold
2021-07-18 21:48                             ` Deborah Scherrer
2021-07-18 20:06                           ` Lyle Bickley
2021-07-14 21:37 ` [TUHS] 386BSD released Bakul Shah
2021-07-16 21:22 ` Dave Horsfall
2021-07-15  2:21 Douglas McIlroy
2021-07-15  2:41 ` Adam Thornton
2021-07-15 15:07 ` Clem Cole
2021-07-16 17:30 Nelson H. F. Beebe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=A75B5962-43CC-4BFA-B20F-DD66913DB72D@iitbombay.org \
    --to=bakul@iitbombay.org \
    --cc=tuhs@tuhs.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).