Subject: Re: as long as we're hitting FFS...
To: Hubert Feyrer <hubert.feyrer@rz.uni-regensburg.de>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-kern
Date: 03/23/1999 18:51:54
On Wed, Mar 24, 1999 at 12:24:58AM +0100, Hubert Feyrer wrote:
> 
> On 23 Mar 1999, Perry E. Metzger wrote:
> > 3) Eliminate endianness of FFSes -- this is more controversial. Right
> > now, we have bi-endian support, but it would be cool not to need it.
> 
> Wouldn't result this in a serious performance loss?

No.  If you're curious what it'd be like, try making an other-endian FFS
and running it with our current FFS_EI code.  It's not bad at all.

NeXT did this for years -- all their filesystems were big-endian, on
both their 68k and x86 ports.  In fact, it's the specific reason the
original NeXTStep/x86 release wouldn't run on the 386 (remember, the
486/25 was cutting-edge hardware when they did the port, and a 386/40
isn't much slower!); the 386 doesn't have a byte-swap instruction, and
the 486 does, and they didn't want people complaining about poor
filesystem performance.  With the byte-swap instruction, it wasn't
noticeable at all.

Remember, it's just the _metadata_ you're byte-swapping, not the data
itself.  And people who complain too much about the performance cost
(perhaps those on the VAX?) can always run old-FFS or LFS...

Eliminating the rotiational position and other physical geometry crud
might well save more cycles than byte-swapping cost, anyway.