[TUHS] If not Linux, then what?

George Michaelson ggm at algebras.org
Wed Aug 28 08:30:01 AEST 2019


BSD, but with the original STREAMS semantics, not sockets.

DARPA did us no favours accepting sockets in place of simple file I/O
semantics for networks.

Newcastle connection put the namespace into
/.../remote-part/path/to/thing which I felt was also good.

So for me, 7 -> BSD -> got worse for some values of worse

On Wed, Aug 28, 2019 at 12:56 AM Larry McVoy <lm at mcvoy.com> wrote:
>
> On Mon, Aug 26, 2019 at 11:14:45PM -0400, Arthur Krewat wrote:
> > On 8/26/2019 10:45 PM, Larry McVoy wrote:
> > >  Which was that the page cache is
> > >*the*  cache.  There is nothing else.
> > Yeah, I re-read what you wrote a few times after I replied, and realized
> > what you meant ... eventually ;)
>
> I might be making too big of a deal about it.  mmap semantics mattered
> a lot when SMPs first showed up and main memory was small.  It meant
> that you could have multiple CPUs seeing and working on the same chunk
> of data at the same time.
>
> It's very similar to way that IOMMUs are exposed to user space these
> days, enabling virtual machines direct access to the I/O devices.
>
> ZFS breaks that model, the data is all in the ARC and if you mmap
> it they have to bcopy the data out of the ARC, into the page cache
> and now they have a consistency problem, you could modify stuff
> via mmap or write and they have to manage that.
>
> That consistency problem is the main reason that Sun almost completely
> killed the buffer cache (it still was used for inodes and directories
> but that was it).  That consistency problem is a pain in the rear,
> all sorts of race conditions and it tended to bit rot.
>
> Jeff and Bill are smart people so I suspect they got it right but I'm
> still stunned that they took such an architecturally bad approach.
> And even more stunned that the oversight people approved it.  There
> is zero chance that the Sun I worked at would have allowed that.
>
> --lm


More information about the TUHS mailing list