The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: michael@kjorling.se (Michael Kjörling)
Subject: [TUHS] Code bloat (was: How Unix brings people together, or it's a small...)
Date: Thu, 9 Feb 2017 09:58:03 +0000	[thread overview]
Message-ID: <20170209095803.GF5418@yeono.kjorling.se> (raw)
In-Reply-To: <C7E0FD3B-59FD-4E51-BCB9-01A14DB7FB99@planet.nl>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1790 bytes --]

On 9 Feb 2017 10:19 +0100, from pnr at planet.nl (Paul Ruizendaal):
> A TCP connection spends most of its time in the 'established' state. 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'm not aware of any historical
> implementation having that design, so perhaps it is flawed thinking.

Wouldn't the state change code need to be executable, even if it
technically isn't in the kernel? I can see no _obvious_ reason why you
_couldn't_ have a daemon handling state changes and non-established
TCP connections, but I'm having a hard time seeing what it would save
you in terms of code size. If anything, it seems like the code would
need to be a little larger in total, because now you have two
components interacting where previously there was just one component
doing all of the work.

One benefit I can see though would be to reduce the incidence of bugs
in the established-state code; less code running privileged means less
things to screw up so badly that the system panics (or scribbles over
the wrong data). A crashed TCP daemon would be an annoyance, but would
at least allow you to restart it or to reboot the system at leisure
rather than having the whole system come to a screeching halt.

You'd need some amount of synchronization either way, to prevent two
connections changing state at the same time from stepping on each
other's toes, but that would hardly be unheard of in the kernel of a
multitasking OS...

-- 
Michael Kjörling • https://michael.kjorling.se • michael at kjorling.se
                 “People who think they know everything really annoy
                 those of us who know we don’t.” (Bjarne Stroustrup)


  reply	other threads:[~2017-02-09  9:58 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-07  3:03 [TUHS] How Unix brings people together, or it's a small Doug McIlroy
2017-02-07  4:06 ` Marc Rochkind
2017-02-07 23:10   ` 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 11:59               ` [TUHS] Code bloat (was: How Unix brings people together, or it'sa small...) jsteve
2017-02-08 12:24                 ` Nick Downing
2017-02-08 12:29               ` [TUHS] Code bloat Jacob Goense
2017-02-08 12:57                 ` Nick Downing
2017-02-08 13:10                 ` jsteve
2017-02-08 14:10                   ` Jacob Goense
2017-02-08 14:34                     ` Ron Natalie
2017-02-08 14:43                       ` Brantley Coile
2017-02-08 15:09                       ` Dan Cross
2017-02-08 15:26                         ` Nick Downing
2017-02-08 15:18                     ` Jason Stevens
2017-02-08 16:25                 ` Tony Finch
2017-02-09 14:03                   ` Jacob Goense
2017-02-09 14:41                     ` jsteve
2017-02-09 15:03                       ` Jacob Goense
2017-02-09 15:08                         ` Jason Stevens
2017-02-09 15:30                     ` Tony Finch
2017-02-09 16:14                       ` Warner Losh
2017-02-09 23:38                         ` [TUHS] Free/NetBSD revision history (was Code bloat) Jacob Goense
2017-02-10  4:11                           ` Warner Losh
2017-02-10  4:17                           ` Warner Losh
2017-02-08 13:56               ` [TUHS] Code bloat (was: How Unix brings people together, or it's a small...) 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 [this message]
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 17:27                               ` [TUHS] offtopic: broadband (redirect from bloat) Larry McVoy
2017-02-09 19:05                                 ` Steffen Nurpmeso
2017-02-09 22:48                                 ` Joerg Schilling
2017-02-09 19:54                             ` [TUHS] Code bloat (was: How Unix brings people together, Corey Lindsly
2017-02-09 20:08                               ` pechter
2017-02-09 20:30                               ` Arthur Krewat
2017-02-09 23:47                                 ` Jacob Goense
2017-02-09 21:06                               ` Larry McVoy
2017-02-09 21:02                             ` [TUHS] Code bloat (was: How Unix brings people together, or it's a small...) Joerg Schilling
2017-02-09 16:58                         ` [TUHS] Code bloat William Pechter
2017-02-09 19:50                       ` [TUHS] Code bloat (was: How Unix brings people together, or it's a small...) Clem Cole
2017-02-08  5:37           ` Peter Jeremy
2017-02-08 12:16       ` [TUHS] How Unix brings people together, or it's a small ches@Cheswick.com
2017-02-09 14:31 [TUHS] Code bloat (was: How Unix brings people together, or it's a small...) Noel Chiappa

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=20170209095803.GF5418@yeono.kjorling.se \
    --to=michael@kjorling.se \
    /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).