> ... When 2.0.0 came out,
> I finished updating my system ... went through the configuration [and]
> specified [P]entium, because I have a NexGen586/90, that can do everything
> that a Pentium can.
> ... I, and probably most NexGen owners
> (there are a bunch) would rather not have to use a sub-optimized kernel ...
First, a NexGen is not a Pentium. It executes the 386 instruction set.
You got lucky on 1.2.13, because it didn't use any Pentium optimizations,
and gcc hasn't implemented any (yet).
Second, just because you're running 386 code doesn't mean you are
suffering a performance hit. Pentium required recompiling to get
maximum performance because of machine architecture limitations (bugs);
your NexGen gets equal performance without recompiling, and you win
because 386 code is smaller and fits in the cache better.
The only 486/Pentium optimizations in Linux 2.0 (AFAIK) are:
1. Pentium has a "bswap" instruction used in the network code for
byte-swapping big-endian long-word packet fields; this takes three
386 instructions to emulate. (big whoop)
2. Pentium has an "invlpg" instruction to invalidate a single memory
mapper page table cache entry when you map out or remap a page;
386 and NexGen require that you trash the whole cache. This mostly
affects program startup time when you have lots of RAM (e.g. cgi
scripts on an overloaded web server) and amounts to much less than
20% in that case.
So configure your kernel as "386" and be happy.
All Linux-on-NexGen users should be on the nelson-nexgen mailing list,
see http://www.cantrip.org/linux.html for instructions.
Nathan Myers
ncm@cantrip.org