The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Warner Losh <imp@bsdimp.com>
To: Tyler Adams <coppero1237@gmail.com>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] "What UNIX Cost Us"
Date: Sun, 19 Jan 2020 09:33:23 -0700	[thread overview]
Message-ID: <CANCZdfqbnBh9_FEx9FAmasvptB_b0T0ZZADH=34WPz=qx_Gjsw@mail.gmail.com> (raw)
In-Reply-To: <CAEuQd1CKw0fEgD0f2PJ-Y2FOYcsXTn2iBNwocXdcBRxEHumyZQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4103 bytes --]

Benno's talks (systemd and this one) weren't wrong. Systemd *is* a dumpster
fire. It has a lot of cool ideas, but is coded by someone that has poor
listening skills and is more stubborn than he's technically competent. It's
had a crapton of severe security bugs in it. It's given us abominations
like eth4156 as a NIC name. It doesn't like it when you & a job and log out
for Pete's sake. It's a total mess that breaks everything to try to push
the state of the art. Beno's talk on it may have been a little over the
top, but he's not wrong about much of his criticism. Systemd has swung too
far from the do one thing and do it well philosophy, admittedly in ways
that are ham-fisted and don't necessarily mean that it's philosophically
wrong, that it shows at least some of thee wisdom of simplicity.

Benno's Unix talk is similar. He's not wrong. The everything is a file
paradigm has issues.

On Sun, Jan 19, 2020 at 3:47 AM Tyler Adams <coppero1237@gmail.com> wrote:

> His example of the USB driver was pretty silly. The unix code even
> *looked* cleaner and straightforward compared to the convoluted
> windows/mac messes, but he's mad because he had to figure out a *filepath*.
> What!?
>

Figure a  dozen file paths out, cat the right thing to them so other files
show up and  then you can  do the same thing again? That's  not a sane
interface. Everything isn't a file.  We've known this since the 70's. The
first NCP/TCP stacks were terrible in this way. You opened /dev/net/london.
And while that sounds cool, it means you have to have some kind of name
lookup in kernel which isn't a directory lookup. You either need a userland
daemon to do  the work and sleep, or you need to do crazy things like that
in the kernel. And there was no really good way to do what we do with
select, poll, kqueue or the like. And trying to do really high end, high
data rate stuff with read/write is inefficient.

At Netflix we use sendfile for our stuff. It's one of the least
unixy things in the kernel. It reads from a file, then TLS encrypts the
file and sends it out the socket. This means state has to be carefully
managed with some setup in userland before the handoff. The other non-unixy
thing is that it's all non blocking. sendfile asks for a set of pages from
a file. When they are ready, it gets a callback to schedule encryption, and
when that fires it's scheduled to the NIC for transmission and either
retransmission or freeing up depending on the ACKs that come back. At
~190Gbps, this isn't something one can do with the normal Unix interfaces,
which was the point of his talk. He's not wrong, but his examples could use
some work.

The real world is messy, and often requires complexity. Going too simple
for simplicity's sake is just as bad as going too complicated for
complexity's sake. A proper balance is needed. And he's not wrong to make
that point.

Warner

P.S. complaining about Benno's involvement in cleaning up FreeBSD's fortune
in response to his talk is lame and puerile. Totally off topic and typical
of the stupid and ill-informed attacks that he attracted around the code of
conduct stuff by jerks that had no stake in the FreeeBSD community, but
instead wanted to fight for their absolute right to be self-absorbed jerks
without consequences. It totally burned him out, and the FreeBSD community
lost a contributing member because of the grief he got. It's unbecoming to
see it on this list.


>  Tyler
>
>
> On Sun, Jan 19, 2020 at 12:37 PM Vincenzo Nicosia <katolaz@freaknet.org>
> wrote:
>
>> On Sat, Jan 18, 2020 at 11:27:39AM -0800, Rich Morin wrote:
>> > FWIW, I found this talk to be quite amusing and interesting.
>> >
>> > "What UNIX Cost Us" - Benno Rice (LCA 2020)
>> > https://www.youtube.com/watch?v=9-IWMbJXoLM
>> >
>>
>> ...which is along the same lines of the talk the same guy gave about
>> systemd and why everybody should like it. The message is simple: we
>> just want to run our shiny MacBooks and we don't understand Unix
>> anyway, so we'd better get rid of it and move on.
>>
>> A flawed analysis that obviously leads to flawed conclusions.
>>
>>

[-- Attachment #2: Type: text/html, Size: 5404 bytes --]

  reply	other threads:[~2020-01-19 16:34 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-18 19:27 Rich Morin
2020-01-18 20:34 ` Steffen Nurpmeso
2020-01-19  9:33   ` Kevin Bowling
2020-01-19 20:00   ` Kathryn Spiers
2020-01-20 17:40     ` Steffen Nurpmeso
2020-01-19 10:29 ` Vincenzo Nicosia
2020-01-19 10:46   ` Tyler Adams
2020-01-19 16:33     ` Warner Losh [this message]
2020-01-19 18:16       ` Kevin Bowling
2020-01-19 19:45       ` Adam Thornton

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='CANCZdfqbnBh9_FEx9FAmasvptB_b0T0ZZADH=34WPz=qx_Gjsw@mail.gmail.com' \
    --to=imp@bsdimp.com \
    --cc=coppero1237@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).