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

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

  reply	other threads:[~2022-11-15  6:03 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 [this message]
2022-11-15 15:11       ` Larry McVoy
2022-11-15 15:48         ` Bakul Shah
2022-11-15 17:47       ` Warner Losh
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=Y3MrmQSPfUbLG2rX@mit.edu \
    --to=tytso@mit.edu \
    --cc=imp@bsdimp.com \
    --cc=pnr@planet.nl \
    --cc=tuhs@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).