*BSD News Article 34216


Return to BSD News archive

Xref: sserve comp.os.386bsd.questions:12293 comp.os.386bsd.misc:3164
Newsgroups: comp.os.386bsd.questions,comp.os.386bsd.misc
Path: sserve!newshost.anu.edu.au!munnari.oz.au!spool.mu.edu!howland.reston.ans.net!gatech!nntp.msstate.edu!olivea!trib.apple.com!amd!netcomsv!calcite!vjs
From: vjs@calcite.rhyolite.com (Vernon Schryver)
Subject: Re: Whats wrong with Linux networking ???
Message-ID: <CuFvuH.Ks@calcite.rhyolite.com>
Organization: Rhyolite Software
Date: Fri, 12 Aug 1994 20:35:05 GMT
References: <RSANDERS.94Aug9003813@hrothgar.mindspring.com> <329joi$eul@Starbase.NeoSoft.COM> <RSANDERS.94Aug10014226@hrothgar.mindspring.com>
Lines: 39

In article <RSANDERS.94Aug10014226@hrothgar.mindspring.com> rsanders@mindspring.com (Robert Sanders) writes:

> ...
>> OK, OK, I can see why you'd have it as a portability hack, but stick
>> it off in /usr/lib/libcruft.so...
>
>Are you suggesting a user-level implementation (ick), or are you
>saying that you don't want space in libc taken up, or are you saying
>that these IPC mechanisms should be deprecated by additional link-time
>pains?  The first is sheer lunacy, the second would be silly (syscall
>stubs are tiny, and ftok() trivial), and the third sort of ruins the
>point of backwards compatibility.
>
>Most of today's Unix is baggage that should be discarded for better
>(and, as you say, sometimes older) solutions. ...


It's far harder to remove system call stubb baggage from systems than
library baggage.  

If a user-level implementation can work, then it is clearly the right
answer.  The only time one should ever make a system call is when you
can't put it in a library without a significant sacrafice in speed or
functionality.  And so on for the next lower layers.

Why not force people who want backward or foreign compatibility to say
so explicitly, whether with link-time args or even compile time #define's?
Putting lots of compatibility grot in libc and the kernel is what made
System V Release 4 the famous wonder that it is.

Given the general ickiness and wonderful speed of Genuine UNIX(tm)
System V(tm) IPC, why would anyone want to pollute their kernel with it
if there is a way to segregate it?

(Yes, 4.2BSD is not so hot for IPC either.  Socketpair() and U.D.sockets
are only slightly less icky.)


Vernon Schryver    vjs@rhyolite.com