The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Larry McVoy <lm@mcvoy.com>
To: George Michaelson <ggm@algebras.org>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] If not Linux, then what?
Date: Tue, 27 Aug 2019 15:40:02 -0700	[thread overview]
Message-ID: <20190827224002.GB15511@mcvoy.com> (raw)
In-Reply-To: <CAKr6gn2V_T_EnYaz3OYassHSpLecoKTkqZe+By8A9kQQ=7jnMA@mail.gmail.com>

Wait, are you arguing for STREAMS over sockets?  Dear god, please no.
Have you ever used STREAMS (not Ritchies streams, those were OK)?
I have.  I ported Lachman's STREAMS based TCP/IP stack twice, once
to a long since defunct super computer called the ETA-10 and then 
to SCO Unix.  I've got way more STREAMS experience than most people
and I can tell you that sockets are WAY WAY better.  I get the "it
should have just been file I/O" except that I don't.  I tried to 
write a library that let you open up /net/tcp/$host:$port and do
I/O like it was a file descriptor.  That works for a lot of stuff
but I ran into problems quickly.  A networking connection is not
a file handle.  You can make some stuff work but I couldn't figure
out how to do all of it.   You end up having to do ioctls to handle
the stuff that doesn't fit well into the file system name space.
I think plan 9 did this sort of thing, maybe Rob can prove me wrong
or remember where it didn't match.

I do know that STREAMS came back to Solaris, some VP inked a shitty
deal with Lachman and bought the rights to the stack.  It was slow
as molasses in the winter and customers absolutely hated it.  Sun 
got Mentat to redo it for perf but customers still hated it, they
understood sockets, everyone else had sockets, they wanted sockets
and they got them.  Sun put them back and nobody ever asked about
STREAMS again.

On Wed, Aug 28, 2019 at 08:30:01AM +1000, George Michaelson wrote:
> BSD, but with the original STREAMS semantics, not sockets.
> 
> DARPA did us no favours accepting sockets in place of simple file I/O
> semantics for networks.
> 
> Newcastle connection put the namespace into
> /.../remote-part/path/to/thing which I felt was also good.
> 
> So for me, 7 -> BSD -> got worse for some values of worse
> 
> On Wed, Aug 28, 2019 at 12:56 AM Larry McVoy <lm@mcvoy.com> wrote:
> >
> > On Mon, Aug 26, 2019 at 11:14:45PM -0400, Arthur Krewat wrote:
> > > On 8/26/2019 10:45 PM, Larry McVoy wrote:
> > > >  Which was that the page cache is
> > > >*the*  cache.  There is nothing else.
> > > Yeah, I re-read what you wrote a few times after I replied, and realized
> > > what you meant ... eventually ;)
> >
> > I might be making too big of a deal about it.  mmap semantics mattered
> > a lot when SMPs first showed up and main memory was small.  It meant
> > that you could have multiple CPUs seeing and working on the same chunk
> > of data at the same time.
> >
> > It's very similar to way that IOMMUs are exposed to user space these
> > days, enabling virtual machines direct access to the I/O devices.
> >
> > ZFS breaks that model, the data is all in the ARC and if you mmap
> > it they have to bcopy the data out of the ARC, into the page cache
> > and now they have a consistency problem, you could modify stuff
> > via mmap or write and they have to manage that.
> >
> > That consistency problem is the main reason that Sun almost completely
> > killed the buffer cache (it still was used for inodes and directories
> > but that was it).  That consistency problem is a pain in the rear,
> > all sorts of race conditions and it tended to bit rot.
> >
> > Jeff and Bill are smart people so I suspect they got it right but I'm
> > still stunned that they took such an architecturally bad approach.
> > And even more stunned that the oversight people approved it.  There
> > is zero chance that the Sun I worked at would have allowed that.
> >
> > --lm

-- 
---
Larry McVoy            	     lm at mcvoy.com             http://www.mcvoy.com/lm 

  reply	other threads:[~2019-08-27 22:40 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-26 23:13 Arthur Krewat
2019-08-26 23:27 ` Warner Losh
2019-08-26 23:37   ` Larry McVoy
2019-08-26 23:56   ` William Pechter
2019-08-27  0:19     ` Arthur Krewat
2019-08-27  0:30       ` Larry McVoy
2019-08-27  0:58         ` Rob Pike
2019-08-27  1:06           ` Clem Cole
2019-08-27  2:53           ` Larry McVoy
2019-08-27  9:47             ` Rob Pike
2019-08-27  7:47           ` arnold
2019-08-27 16:05           ` [TUHS] Running v10 Angelo Papenhoff
2019-08-27 16:27             ` Henry Bent
2019-08-28  4:22               ` Jason Stevens
2019-08-28  7:34                 ` Angelo Papenhoff
2019-08-28 16:46                   ` Henry Bent
2019-08-27  0:59         ` [TUHS] If not Linux, then what? Arthur Krewat
2019-08-27  1:26           ` Dan Cross
2019-08-27  2:45             ` Larry McVoy
2019-08-27  3:14               ` Arthur Krewat
2019-08-27 14:55                 ` Larry McVoy
2019-08-27 22:30                   ` George Michaelson
2019-08-27 22:40                     ` Larry McVoy [this message]
2019-08-27 22:46                       ` George Michaelson
2019-08-27 22:59                         ` [TUHS] [SPAM] " Larry McVoy
2019-08-27 23:10                           ` [TUHS] " Clem Cole
2019-08-28  0:07                             ` George Michaelson
2019-08-28  3:22                           ` [TUHS] [SPAM] " Rob Pike
2019-08-28  3:25                             ` Rob Pike
2019-08-28  4:05                             ` Larry McVoy
2019-08-28 13:52                               ` Clem Cole
2019-08-28 14:31                                 ` [TUHS] " Larry McVoy
2019-08-28 14:57                                   ` Clem Cole
2019-08-28  6:19                         ` Wesley Parish
2019-08-28  6:30                           ` Peter Jeremy
2019-08-28 11:05                             ` Jason Stevens
2019-08-28 11:11                               ` Arrigo Triulzi
2019-08-28 14:04                               ` Clem Cole
2019-08-28 16:34                                 ` Henry Bent
2019-08-28 17:32                                   ` Larry McVoy
2019-08-28 17:51                                     ` Jon Forrest
2019-08-28 18:56                                     ` Clem Cole
2019-08-28 20:23                                       ` Arrigo Triulzi
2019-08-29  3:24                                       ` Lawrence Stewart
2019-08-29 10:55                                         ` Tony Finch
2019-08-28 13:57                             ` Clem Cole
2019-08-28 12:46                           ` Warner Losh
2019-08-27 23:16                       ` Bakul Shah
2019-08-27 23:33                         ` Larry McVoy
2019-08-28  0:21                           ` Bakul Shah
2019-08-28  1:21                             ` Arthur Krewat
2019-08-28  1:46                               ` Larry McVoy
2019-08-27  0:48   ` Clem Cole
2019-08-27  1:25     ` Gregg Levine
2019-08-27  2:16   ` Theodore Y. Ts'o
2019-08-27  2:39     ` Larry McVoy
2019-08-27  5:54       ` Adam Thornton
2019-08-27  6:05         ` Gregg Levine
2019-08-27  1:17 ` Dan Cross
2019-08-28  3:53 ` Charles H. Sauer
2019-08-28  4:30 ` Jason Stevens
2019-08-28  9:36 ` Angus Robinson
2019-08-28  9:50   ` Michael Kjörling
2019-08-28 10:48     ` arnold
2019-08-28 14:10   ` Earl Baugh
2019-08-28 14:55     ` Clem Cole
2019-08-28 14:22   ` Charles H Sauer
2019-08-28 15:00     ` Steve Nickolas
2019-08-28 15:37       ` Richard Salz
2019-08-28 19:54         ` Peter Jeremy
2019-08-28 20:05           ` Christopher Browne
2019-08-28 20:07 ` Christopher Browne
2019-08-28 20:27   ` Adam Thornton
2019-08-28 20:56     ` William Pechter
2019-08-28 22:24       ` Clem cole
2019-08-28 22:27     ` William Pechter
2019-08-28 22:53       ` Arthur Krewat
2019-08-29 18:40       ` Nemo Nusquam
2019-08-29 19:18         ` Steffen Nurpmeso
2019-08-28 22:28     ` Clem cole
2019-08-28 22:48       ` Adam Thornton
2019-08-28 23:01         ` William Pechter
2019-08-28 23:09           ` Adam Thornton
2019-08-29  6:37           ` Wesley Parish
2019-08-28 23:04       ` Gregg Levine
2019-08-29 11:12     ` Tony Finch
2019-08-28 23:19   ` Theodore Y. Ts'o
2019-08-29 13:31     ` A. P. Garcia
2019-08-29 13:55       ` Arthur Krewat
2019-08-29 15:54         ` Thomas Paulsen
2019-08-29 19:19           ` Steffen Nurpmeso
2019-08-31  1:35             ` Dave Horsfall
2019-08-31 15:14               ` Steffen Nurpmeso
2019-08-31 16:58     ` Christopher Browne
2019-08-31 21:20       ` Theodore Y. Ts'o
2019-08-28 21:02 ` Thomas Paulsen

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=20190827224002.GB15511@mcvoy.com \
    --to=lm@mcvoy.com \
    --cc=ggm@algebras.org \
    --cc=tuhs@minnie.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).