The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Bakul Shah <bakul@iitbombay.org>
To: Larry McVoy <lm@mcvoy.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: Re: [TUHS] 386BSD released
Date: Fri, 16 Jul 2021 09:11:16 -0700	[thread overview]
Message-ID: <7DC2359B-93C7-4329-AF61-6078CB4B80EB@iitbombay.org> (raw)
In-Reply-To: <20210716135639.GI12733@mcvoy.com>

On Jul 16, 2021, at 6:56 AM, Larry McVoy <lm@mcvoy.com> wrote:
> 
> On Fri, Jul 16, 2021 at 09:00:58AM -0400, Theodore Y. Ts'o wrote:
>> The trick that I used was two have two "flip buffers" which were
>> dedicated for each serial port.  One buffer would be filled by the
>> interrupt handler, while the other would be buffer would be processed
>> by the bottom half (read: software interrupt) handler.  When the
>> bottom half handler had emptied one buffer, it would check to see if
>> there were any characters in the other buffer, and if so, flip the two
>> and process the characters in that buffer.  
> 
> I'm pretty sure SGI used a similar approach for networking packets.

This is somewhat h/w dependent. Ideally you want the h/w to
do some buffering for streaming at full speed so that you
don't need to take a per char or per packet interrupt. Hence
NS16550 which used a 16 char FIFO. AMD LANCE used a ring of
2^N buffer descriptors. Intel 82586 used a linked list -
don't recall if you had to make it a circular buffer. The
early 3COM controller didn't buffer more than a packet and
you had to copy it. As a contractor I did a couple of network
drivers for 3rd party hardware for SGI in late '80s & early
'90s.  I don't recall any details now but in both cases the
h/w did buffer up a bunch. Once things are handed to s/w, you
have a lot more flexibility. Though I never liked the idea of
splitting a packet up in multiple mbufs!

  parent reply	other threads:[~2021-07-16 16:11 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
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 [this message]
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=7DC2359B-93C7-4329-AF61-6078CB4B80EB@iitbombay.org \
    --to=bakul@iitbombay.org \
    --cc=lm@mcvoy.com \
    --cc=tuhs@tuhs.org \
    /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).