The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Warner Losh <imp@bsdimp.com>
To: "Theodore Ts'o" <tytso@mit.edu>
Cc: Paul Ruizendaal <pnr@planet.nl>,
	The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: [TUHS] Re: DG UNIX History
Date: Tue, 15 Nov 2022 10:47:20 -0700	[thread overview]
Message-ID: <CANCZdfoF4Zi_i30f=jx-kyjH_yoU+sLA30vy4V45RjSviKUPrQ@mail.gmail.com> (raw)
In-Reply-To: <Y3MrmQSPfUbLG2rX@mit.edu>

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

On Mon, Nov 14, 2022 at 11:03 PM Theodore Ts'o <tytso@mit.edu> wrote:

> On Mon, Nov 14, 2022 at 04:54:54PM -0700, Warner Losh wrote:
> > > The interesting thing again, is that while they while all of these
> > > implementations seem to have been technologically 'better' - only Mach
> > > lived on from the original developers.  And in the case of Mach, by the
> > > time it was mainstream (macOS) the original implementation had been
> > > replaced a few times - so while the concepts are there, I don't think
> much
> > > of the Original CMU code is left in XNU/Darwin [or for that matter in
> the
> > > OSF flavors -- Tru64 rewrote it but it died and the OSF/RI kernel never
> > > went anywhere either].
> >
> > Both FreeBSD and NetBSD re-wrote the vm layer. FreeBSD incrementally, and
> > NetBSD with a new uvm. At least for FreeBSD, this is when the buffer
> cache
> > was fully (or more fully?) unified because it wasn't quite complete in
> > 4.4BSD as shipped IIRC (or maybe it was that it was really buggy, it's
> been
> > so long ago now that I've forgotten).
>
> FWIW, Linux also has a (mostly) unified page cache.  Which is to say,
> for all of the major file systems, there is only a single unified page
> cache for file data.
>
> There are some legacy file systems in Linux (e.g., befs, qnx4, qnx6,
> minix, vfat, etc.) that still use the buffer cache, but the buffer
> cache is implemented in terms of the page cache infrastructure, and
> that's mainly because no one has really bothered to update those file
> systems to use the unified page cache.  After all, you're using vfat
> to read and write for super-slow USB thumb drive, who cares if data is
> getting copied from the USB thumb drive, to the buffer cache, and then
> to the page cache?  :-)
>
> > > As I said, the lesson to TUHS -- as much as I'm a techie and I am
> > > interested in the 'proper' way of doing things ... "good enough" is
> often
> > > what rules.
> >
> > Good enough, and a little more polish to make it even better :)
>
> Good enough, and backwards compatibility, sure.  But for the file
> systems where performance is an issue, having a unified page is the
> only way to go.  :-)
>
> > > It's too bad none of the good memory implementations made it into
> > > >>systems<< that lasted.ᐧ
>
> At least in my book, it's not the implementations, but the ideas that
> matter.  And sometimes implementations are constrained by hardware
> limitations (example: clists), and for less contrained hardware,
> sometimes you're better re-evaluating whether the ideas in use, and if
> that means that you need to reimplement the ideas that still make
> sense, there's nothing wrong with that.
>
>                                         - Ted
>
> P.S.  I remember back in the day when I was engaging in a friendly
> competition with a FreeBSD hacker on improving the serial driver for
> the 8250 chip (with no FIFO's!), and I shared with him my idea of
> using a pair of ring buffers that would get flipped back and forth
> between the interrupt handler and the tty "bottom-half" (read:
> software interrupt) handler, and I was told that clists were handed
> down from Olympus by the AT&T/Unix Gods and he could never get that
> kind of change into the FreeBSD tty layer.  Of course, I was free to
> make all of the radical changes to Linux's tty layer --- and I did,
> all in the name of the number of 115kbaud connections that could be
> handled on a single 40 MHz 386 processor...
>

Thankfully, clists have been gone forever from the FreeBSD tty layer (since
FreeBSD 2 or 3 if memory serves). The soft interrupt stuff had to wait to
be replaced until the SMPng efforts to make FreeBSD scale on multicore.
Some cruft remains in the tty layer, to be sure, but it's somewhat better
than before.

Bruce was quite active in FreeBSD and did drive much change in our
thinking, though mostly through getting others to rewrite it in the right
way after the main proponents of that dogma left the project and we could
grow beyond that past. It was a mistake in the earliest days to think
anything from AT&T was sacrosanct and the project is much healthier for
it... We'd never been able to scale with the old AT&T inherited design on
many many things.

Warner

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

  parent reply	other threads:[~2022-11-15 17:49 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-14 22:11 Paul Ruizendaal
2022-11-14 22:31 ` Clem Cole
2022-11-14 23:54   ` Warner Losh
2022-11-15  6:03     ` Theodore Ts'o
2022-11-15 15:11       ` Larry McVoy
2022-11-15 15:48         ` Bakul Shah
2022-11-15 17:47       ` Warner Losh [this message]
2022-11-15  1:21   ` Stuff Received
  -- strict thread matches above, loose matches on Subject: below --
2022-11-14 11:44 arnold
2022-11-12 15:54 [TUHS] " Clem Cole
2022-11-12 16:09 ` [TUHS] " Larry McVoy
2022-11-12 16:52 ` arnold
2022-11-12 17:05   ` Larry McVoy
2022-11-12 17:09   ` Miod Vallat
2022-11-12 17:12     ` Warner Losh
2022-11-12 17:39     ` arnold
2022-11-12 17:13   ` David Barto
2022-11-12 17:37   ` Brad Spencer
2022-11-12 18:04   ` Clem Cole
2022-11-12 18:36     ` Larry McVoy
2022-11-12 19:36       ` Clem Cole
2022-11-13  1:56         ` Larry McVoy
2022-11-12 19:16 ` Dave Horsfall
2022-11-12 19:31   ` Clem Cole

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='CANCZdfoF4Zi_i30f=jx-kyjH_yoU+sLA30vy4V45RjSviKUPrQ@mail.gmail.com' \
    --to=imp@bsdimp.com \
    --cc=pnr@planet.nl \
    --cc=tuhs@tuhs.org \
    --cc=tytso@mit.edu \
    /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).