2.1.28 compile & minor performance issues

Marc Lehmann (mlehmann@hildesheim.sgh-net.de)
Tue, 4 Mar 1997 13:46:00 +0100 (MET)


arch/i386/lib/checksum.c (on the i386) is still the ONLY
part of the kernel that does not work with inlining enabled,
due to the non-local assembler labels that are used in it.

I think fixing it is probably trivial enough, and the gain
("compilability") is definitely worth it.

Another thing: could anybody benchmark that
a zero alignment on the pentium oes NOT impact performance.
In my opinion, a 4 byte alignment (as it is currently)
is just a sin.. it doesn't help the pentium, and
it doesn't help the i486 (it DOES help the i486 though).

So IF we compile for pentium ONLY, we should get rid of
any alignment, it doesn't impact speed, but makes the kernel much
smaller.

alignment on the pentium-pro is 2 (4 bytes), too, but I don't
think that will do anything good. In my opinion (I don't
have a ppro), a 16 byte alignment will help the ppro, too,
but I had no chance to test it (no machine :)

BTW: maybe an option to "blend" for all cpus would be nice,
so that people that compiling a kernel for multiple
machines (thanks to modules this should be possible)
does not severly impact performance on others.
A sixteen byte alignment is the recommended value that
should not impact speed on any x86 chip.

---------------------------------------------------------------------

for a pentium-optimizing gcc, look at http://www.goof.com/pcg

-----==-
----==-- _
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / mlehmann@hildesheim.sgh-net.de
-=====/_/_//_/\_,_/ /_/\_\ pcg@goof.com
The choice of a GNU generation