From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id f80dc8ac for ; Sun, 19 Jan 2020 16:34:37 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id 8677B9C109; Mon, 20 Jan 2020 02:34:36 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 5B15A9BDD8; Mon, 20 Jan 2020 02:33:40 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=bsdimp-com.20150623.gappssmtp.com header.i=@bsdimp-com.20150623.gappssmtp.com header.b="jBpX5Xva"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 892BD9BDD8; Mon, 20 Jan 2020 02:33:37 +1000 (AEST) Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) by minnie.tuhs.org (Postfix) with ESMTPS id 177F89B87B for ; Mon, 20 Jan 2020 02:33:35 +1000 (AEST) Received: by mail-qk1-f178.google.com with SMTP id z14so27811995qkg.9 for ; Sun, 19 Jan 2020 08:33:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nTk9mkp8UPkgHsAAAgEw9Xu5yCxMJD48YCRDJY2PC90=; b=jBpX5XvaWgEcREa70hjDW4QqBwlB64kS1DgfjtVyd3jhhRqKHTXxLetZ5YP9Ke5UOm SeRqieIaYD7rM1zE1SSJZv00520YB9cE9xBV/MngCwAY6lVOUM+i7Szqv3ozRY8ICzmM AwF7YIXguf8/vLerUcuWWDYUNkhTBq78Z+42Ja4XA0PcXPVgsdcmH9EqLQVwHF2Na6RI quafkzkjQg7QBpgAO9C5OzF+rCqkgcfn2JLBf9AiLESmaqyl+Fs/crrXiKbnf/cgd5Wx qccS4HwjIYqQkIedek+Wm6tmvAZocUm2gncw/VuforpmESFKKiQN5CdfIe7LYZokDPkw BbTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nTk9mkp8UPkgHsAAAgEw9Xu5yCxMJD48YCRDJY2PC90=; b=majNOTxZxWJEBcRFtP4TRmrsDSsRrD1E3Mj/9ErUybl08GHflgmQDOXTQwiceBevgO U6z7mnGbn4+79+T/La5W4SPeHps81a8QbnfdbzuN+2N3fqaW/BLw0cqkSZlmjQMde68o 0kX7D83TPuuhMLj7fchIiPbTP0xyTFr2hC+O0uCRomNmu6MTNPuDpGWX2myIRGlcXKyr F8kPFAhD4V3mng8SQxPrM0DGDEoP26DiV6CjH2NwX89Jes36CEaAkFv6tYLlBJIs0NuH NCbl08JWHJrHU0FOIXnUBkH+PWCdLmGXErmMVEq7TUnNG+qIQDeD/p2I428UOcwJn6fI 8y6w== X-Gm-Message-State: APjAAAUrKKef0qJUcFotZl8rFiebUriquNlGvDb6bCdxt0z+sBqesWjS 137M/zSSRABK+FlgJgi6CEfgFDk/fy0hh16iTgRT8w== X-Google-Smtp-Source: APXvYqxkkaXe68gnCN1sBVmqPaknofaN3ysfQ+7/ycTOh8gFsEWJleMwqh6/unS7iUBa6ozZr8WfuBkfg6YBNPKuk8E= X-Received: by 2002:a37:a80a:: with SMTP id r10mr44457217qke.240.1579451613929; Sun, 19 Jan 2020 08:33:33 -0800 (PST) MIME-Version: 1.0 References: <5A5107E4-06AD-4C2B-B590-15C17B301D44@cfcl.com> <20200119102937.3s2hwl3ziupa7ese@unixfarts.net> In-Reply-To: From: Warner Losh Date: Sun, 19 Jan 2020 09:33:23 -0700 Message-ID: To: Tyler Adams Content-Type: multipart/alternative; boundary="0000000000006373fc059c80bc06" Subject: Re: [TUHS] "What UNIX Cost Us" X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: TUHS main list Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --0000000000006373fc059c80bc06 Content-Type: text/plain; charset="UTF-8" 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 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 > 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. >> >> --0000000000006373fc059c80bc06 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Benno's talks (systemd and this one) weren't = wrong. Systemd *is* a dumpster fire. It has a lot of=C2=A0cool ideas, but i= s coded by someone that has poor listening=C2=A0skills and is more stubborn= than=C2=A0he's technically competent. It's had a crapton of severe= security bugs in it. It's given=C2=A0us abominations like=C2=A0eth4156= as a NIC name. It doesn't like it when=C2=A0you=C2=A0& a job and l= og 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=C2=A0it may have been= a little over the top, but he's not wrong about=C2=A0much of his criti= cism. Systemd has swung too far from the do one thing and do=C2=A0it well p= hilosophy, admittedly in ways that are ham-fisted and don't necessarily= mean that it's philosophically wrong, that it shows at least some of t= hee 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=C2=A0 dozen file paths out, cat the = right thing to them so other files show up and=C2=A0 then you=C2=A0can=C2= =A0 do the same thing again? That's=C2=A0 not a sane interface. Everyth= ing isn't a file.=C2=A0 We've known this since the 70's. The fi= rst NCP/TCP stacks were terrible in this way. You opened /dev/net/london. A= nd while that sounds cool, it means you have to have some=C2=A0kind of name= lookup in kernel which isn't a directory lookup. You either need a use= rland daemon to do=C2=A0 the work and sleep, or you need to do crazy things= like that in the kernel. And there was no=C2=A0really good way to do what = we do with select, poll, kqueue or the like. And trying to do really high e= nd, high data rate=C2=A0stuff with read/write is inefficient.
At Netflix we use=C2=A0sendfile for our stuff. It's one of = the least unixy=C2=A0things in the kernel. It reads from a file, then TLS e= ncrypts the file and sends it out the socket. This means state has to be ca= refully managed=C2=A0with some setup=C2=A0in userland before the handoff. T= he other non-unixy thing is that it's all non blocking. sendfile asks f= or a set of pages from a file. When they=C2=A0are 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 A= CKs that come back. At ~190Gbps, this isn't something one can do with t= he normal Unix interfaces, which was the point of=C2=A0his talk. He's n= ot wrong, but his examples could use some work.

Th= e real world=C2=A0is messy, and often requires complexity. Going too=C2=A0s= imple 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 top= ic and typical of the stupid and ill-informed attacks that he attracted aro= und the code of conduct stuff by jerks that had no stake in the FreeeBSD co= mmunity, but instead wanted to fight for their absolute right to be self-ab= sorbed jerks without consequences. It totally burned him out, and the FreeB= SD community lost a contributing member because of the grief he got. It'= ;s unbecoming to see=C2=A0it on this list.


=
=C2=A0Tyler


On Sun, Jan 19, 2020 at 12:37 PM Vincenzo Nicosia <katolaz@freaknet.org> wrote:<= br>
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=3D9-IWMbJXoLM<= br> >

...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.

--0000000000006373fc059c80bc06--