The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: jnc@mercury.lcs.mit.edu (Noel Chiappa)
Subject: [TUHS] Code bloat (was: How Unix brings people together, or it's a small...)
Date: Thu,  9 Feb 2017 09:31:06 -0500 (EST)	[thread overview]
Message-ID: <20170209143106.0304B18C11C@mercury.lcs.mit.edu> (raw)

    > From: Paul Ruizendaal

    > The best one seems to have been the 3Com stack, which puts IP in the
    > kernel and TCP in a daemon.

I've gotta get the MIT V6 one online.

Incoming demux is in the kernel; all of the TCP, and everything else, is in
processes along with the application - one process per application instance.
It sounds like it might be clunky, but it's not: there are a couple of
different TCP's (a small, low performance one for things like User TELNET,
timer servers, yadda-yadda; a bigger, higher-performance one for things like
FTP), and the application just calls them as subroutine libraries
(effectively). Since there's no IPC overhead, the performance is pretty good.

Unfortumately, a lot of the stuff never migrated from personal directories to
the system folder, so I have to go curate out the personal files (or, more
likely, move them all to a system folder) before I can release it all.


    > Perhaps economizing on fragmentation and and window management is
    > better.

Fragmentation, perhaps - but good window management is a must.

    > I wonder if just putting the code for this state in the kernel and
    > handling only the state changes and other states in a daemon is perhaps
    > the best split on constrained hardware.

I don't think that's a good idea; cutting the TCP in two parts, which have to
communicate over an interface is going to be _really_ ugly: do you have one
copy of the connection state data (in which case one them has to go through an
interface to get to it), or two (synchronization issues). If you want a small
kernel footprint, take the MIT approach.

       Noel


             reply	other threads:[~2017-02-09 14:31 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-09 14:31 Noel Chiappa [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-02-07 23:10 [TUHS] How Unix brings people together, or it's a small Clem Cole
2017-02-07 23:38 ` Steve Johnson
2017-02-08  2:55   ` [TUHS] Code bloat (was: How Unix brings people together, or it's a small...) Greg 'groggy' Lehey
2017-02-08  3:47     ` Nick Downing
2017-02-08  3:56       ` Jason Stevens
2017-02-08  8:25         ` Wesley Parish
2017-02-08  9:57           ` Steve Nickolas
2017-02-08 11:21         ` Nick Downing
2017-02-08 13:56           ` Paul Ruizendaal
     [not found]             ` <CAH1jEzZqRPYenwzBbUwFVanA-NVvWMGzYiADVoAXCDOqnUrMrg@mail.gmail.com>
2017-02-09  3:02               ` [TUHS] Fwd: " Nick Downing
2017-02-09  9:19                 ` [TUHS] " Paul Ruizendaal
2017-02-09  9:58                   ` Michael Kjörling
2017-02-09 10:08                     ` Paul Ruizendaal
2017-02-09 16:36                   ` Larry McVoy
2017-02-09 16:42                     ` Warner Losh
2017-02-09 16:49                       ` Larry McVoy
2017-02-09 17:24                         ` Steffen Nurpmeso
2017-02-09 21:02                         ` Joerg Schilling
2017-02-09 19:50                   ` Clem Cole
2017-02-08  5:37       ` Peter Jeremy

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=20170209143106.0304B18C11C@mercury.lcs.mit.edu \
    --to=jnc@mercury.lcs.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).