From: Larry McVoy <lm@mcvoy.com>
To: Rob Pike <robpike@gmail.com>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] [SPAM] Re: If not Linux, then what?
Date: Tue, 27 Aug 2019 21:05:40 -0700 [thread overview]
Message-ID: <20190828040540.GT13570@mcvoy.com> (raw)
In-Reply-To: <CAKzdPgwWOGQbFEGSS0W-DC5A3muGSHc83V48OX3YJodxJV2wOQ@mail.gmail.com>
I could be wrong but that's my memory. What he told me was streams was
for line disciplines for tty drivers. That's what I know but you were
there, I was not. I'm pretty confused because what Dennis said to me
was that he did not think streams would work for networking, he thought
they made sense for a stream but not for a networking connection because
that had multiple connections coming up through a stream.
I'm happy to be wrong but can you talk more about what he was thinking?
There is no way that I'm saying you are wrong, you are you, I just want
to learn. If there is a way that streams made sense for networking I'd
like to see that. My experience with STREAMS is that they sucked really
hard for networking.
My guess is I need to go learn about mpx, I don't know that.
On Wed, Aug 28, 2019 at 01:22:33PM +1000, Rob Pike wrote:
> I find it hard to believe what you remember Dennis saying. The point of
> dmr's streams was to support networking research in the lab and avoid the
> myriad bugs of the mpx interface by stepping around them completely.
>
> Perhaps it's out of context.
>
> -rob
>
>
> On Wed, Aug 28, 2019 at 9:00 AM Larry McVoy <lm@mcvoy.com> wrote:
>
> > streams were OK but Dennis himself told me he didn't intend them for
> > networking. They were a simple mechanism for pushing line disciplines
> > onto tty drivers.
> >
> > I can't remember exactly what he said, this was back in ~1988 or so
> > and I was talking to him about the STREAMS stuff. He wasn't very
> > happy with it and I'm pretty sure he said something like streams
> > weren't design to mux multiple sources or network connections.
> > I think he sort of grudgingly gave credit that they made it work
> > but he seemed to think that it was twisting streams more than they
> > should be twisted.
> >
> > On Wed, Aug 28, 2019 at 08:46:35AM +1000, George Michaelson wrote:
> > > oh maybe I meant "streams" not "STREAMS" I always got confused if the
> > > original ritchie spec was upper or lower case. Charles Forsyth coded
> > > it into the York Uni Vaxen, worked fine. I left shortly after to do
> > > stuff at UCL, it only came back into my life when at UQ in Australia
> > > we got an ICL "certified" SYSV host and along side dead technology
> > > like RFS up it popped (I think ICL had coded an OSI stack we were
> > > testing)
> > >
> > > -G
> > >
> > > On Wed, Aug 28, 2019 at 8:40 AM Larry McVoy <lm@mcvoy.com> wrote:
> > > >
> > > > 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
> >
> > --
> > ---
> > Larry McVoy lm at mcvoy.com
> > http://www.mcvoy.com/lm
> >
--
---
Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm
next prev parent reply other threads:[~2019-08-28 4:06 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-26 23:13 [TUHS] " 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
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 [this message]
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=20190828040540.GT13570@mcvoy.com \
--to=lm@mcvoy.com \
--cc=robpike@gmail.com \
--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).