From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 5307 invoked from network); 16 Jul 2021 19:08:38 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 16 Jul 2021 19:08:38 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 76B6F9C869; Sat, 17 Jul 2021 05:08:32 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 4BDC29C7F1; Sat, 17 Jul 2021 05:08:08 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="key not found in DNS" (0-bit key; unprotected) header.d=kev009.com header.i=@kev009.com header.b="YNqvSJGz"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 2ADD69C7F1; Sat, 17 Jul 2021 05:08:05 +1000 (AEST) Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com [209.85.219.177]) by minnie.tuhs.org (Postfix) with ESMTPS id 8152F9C7F0 for ; Sat, 17 Jul 2021 05:08:04 +1000 (AEST) Received: by mail-yb1-f177.google.com with SMTP id x192so16475323ybe.6 for ; Fri, 16 Jul 2021 12:08:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=OTibKarwNuSNTgM1v0JPWNPFU9C+SXD5CqP+Z95d9oo=; b=YNqvSJGzKt4F8YL32rVuev08RhZCO6RaZtjue5hz0AhRkkj9s0d1ruXfWVcVWicddL 0rUF9QEXDEv2I/DFKlTEjdoZfDHXRNLlWMrwjQtSsytLQXaXuvMR7tbacr8DybS0igrc 60iAPkF6ZFp7OEuJt0m0w6Kusf9YQbueiAOUs= 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=OTibKarwNuSNTgM1v0JPWNPFU9C+SXD5CqP+Z95d9oo=; b=SepidRShg6drA886NzEX7iaVTVoaXGP5bK+ewaWtTPQwBOLeaH/zKHkCFogcLM+4pB eij+msdqOwwr1Ormy6b7Kx7Z41gmHob5hvKzjSZiTBkQK69zaUohKu1CZpr2TrnrMPCe dbJ/omZR+2Dr4lEMDBVGakforUP5Gy9MJ/H4es4Wy4cq+gUPsoa/l1hYafs/G7fISDeT qXEQ8zVdFoIIeol7eHOcEXKzgZgrD3o26YhY/UxSUGGBuBXebkZh7duz735nBidgFU57 pELjPO451JXp4ANWo6jvr4vRQDWHY2JdrL4FYPWh8mQo6/o3w1SaehsK+aZoYacZiHGS RYzA== X-Gm-Message-State: AOAM533cd/nHG+sA04xovNuuQaMnKeSUjTRh7GLbCnrcX4njkRFHNnXG fo5puRAefAYsNpu2wo1gtvkwfKs0Hkua50Ke6i++1w== X-Google-Smtp-Source: ABdhPJy7qld6G/yQ+xGDpX8FnswG996wY0oPrfTkhB/t+H6xiZmTMcXMmtempE6ZDIbknS7RTcp6tfBeYjmdSpabPe8= X-Received: by 2002:a25:b4a:: with SMTP id 71mr15218547ybl.391.1626462483672; Fri, 16 Jul 2021 12:08:03 -0700 (PDT) MIME-Version: 1.0 References: <213a4c11-3ab2-4b4a-8d6b-b52105a19711@localhost> <5777F7E6-062B-4C5A-9C98-36FFE6AC3414@stdio.com> <20210716135639.GI12733@mcvoy.com> In-Reply-To: <20210716135639.GI12733@mcvoy.com> From: Kevin Bowling Date: Fri, 16 Jul 2021 12:07:52 -0700 Message-ID: To: Larry McVoy Content-Type: text/plain; charset="UTF-8" Subject: Re: [TUHS] 386BSD released 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: The Eunuchs Hysterical Society , Bakul Shah Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" On Fri, Jul 16, 2021 at 6:57 AM Larry McVoy wrote: > > On Fri, Jul 16, 2021 at 09:00:58AM -0400, Theodore Y. Ts'o wrote: > > The trick that I used was two have two "flip buffers" which were > > dedicated for each serial port. One buffer would be filled by the > > interrupt handler, while the other would be buffer would be processed > > by the bottom half (read: software interrupt) handler. When the > > bottom half handler had emptied one buffer, it would check to see if > > there were any characters in the other buffer, and if so, flip the two > > and process the characters in that buffer. > > I'm pretty sure SGI used a similar approach for networking packets. Yup was just going to say this is standard in the modern BSD network drivers, looks like Clem says it's older. There are recent optimizations to help the CPU with prefetch, and some ideas around vectors of mbufs. What's remarkable is the mbuf design scales to 200gbps in practice, it must feel great to design something like that so long ago :)