[TUHS] NFS at 40

Larry McVoy via TUHS tuhs at tuhs.org
Sat Sep 27 02:32:36 AEST 2025


On Fri, Sep 26, 2025 at 12:14:43PM -0400, Brad Spencer wrote:
> Larry McVoy <lm at mcvoy.com> writes:
> 
> > On Fri, Sep 26, 2025 at 11:26:55AM -0400, Clem Cole via TUHS wrote:
> >> On Fri, Sep 26, 2025 at 11:20???AM Brad Spencer via TUHS <tuhs at tuhs.org>
> >> wrote:
> >> 
> >> > "Charles H. Sauer via TUHS" <tuhs at tuhs.org> writes:
> >> > ....  it came
> >> > out that the IP stack in that SVR3.x on the Vax was from Lachman ported
> >> > in by DEC.  DEC tossed out the code base, whatever might have existed,
> >> > that AT&T provided with the source reference for doing IP related stuff.
> >> > This would have been in the 1990s.  The coworker seemed to indicate that
> >> > the Lachman code performed better and/or had all of the parts that one
> >> > might expect in a IP stack that were missing in the AT&T version.
> >> >
> >> IIRC, the issue was System V's Streams (TLI) vs. UCB's Sockets.  Most of
> >> the code for IP/TCP, particularly UNIX-based, wanted "pure-joy" and hacking
> >> the code to TLI was too much trouble.
> >
> > Lachman's stuff came from Convergent, they wrote the STREAMS based TCP/IP
> > stack (I know, I ported it to SVR3 for the ETA-10 project, and then again
> > to SCO Unix which was maybe V7 based?  It was pretty primitive.  Might 
> > have been SVR3 or R2).
> >
> > STREAMS just sucked, way more overhead than UCB's sockets.  I've never
> > been a huge fan of the UI of sockets, it's clunky, but it was a lot better
> > than the STREAMS layering.
> 
> I never saw the SVR3.x that may have used STREAMS, but my coworker did
> (assuming my memory is correct) and he may have indicated in our
> conversations that it performed rather badly (that very much rings a
> bell).  The software group we were a part of was pretty well off and I
> know that we experimented with different platforms from time to time for
> the product and he may have had some experience with one of the
> experiments.  The product was huge and complicated and more or less ate
> and entire computer to do its job, be it a Vax or later an HP.

You could make it perform better if you tuned resources.  The defaults
for STREAMS were more appropriate for ttys than networking.  I wrote,
and published on comp.sources.unix (I think) something I called "sw" for
"STREAMS watch".  It was sort of like top(1) if I remember correctly (this
was about 38 years ago) and displayed how much of each resource was used.
I used this to tune things up to get pretty close to 10Mbit/sec out of
some crappy 3com card on SCO.

I googled a bit to see if I could find sw and couldn't but I have a copy
so I stuck it here: http://mcvoy.com/lm/sw.shar if anyone still has to
deal with STREAMS (can't imagine that is true but whatever).  My apologies
for the C style, I hadn't yet adopted Sun's coding style.

--lm


More information about the TUHS mailing list