I submit this for what it is worth. Probably not a lot. 

I had noticed in the past that it seemed the 486 kernel was larger than the 
386 kernel. So when I set up to compile the 2.2.19 kernel I decided to set 
up a script file to compile the kernel in all five CPU flavors and also the 
386 with FPU support. For completeness I also recorded the kernel sizes when 
compressed with upx. The small config file used for the small kernel is a
stripped down one with very limited functionality. The large config file is 
based on Ewald Wasscher's "Huge" config file. I have most of the LEAF patches 
applied to the kernel source.

             bzImage bzImage     upx     upx    diff    diff
               small   large   small   large   small   large
        386   408314  512292  353527  445007   54787   67285
        486   415759  520760  360951  454031   54808   66729
        586   405505  508817  351555  442535   53950   66282
       PENT   405438  508729  351403  442451   54035   66278
        PRO   405437  508729  351403  442455   54034   66274
    386+FPU   436303  539876  377079  472067   59224   67809

The first column is of course the CPU flavor. The second and third columns 
are the bzImage sizes. The fourth and fifth columns are the bzImages 
compressed with upx. Finally the sixth and seventh columns are the size 
differences between the bzImages and the upx images. Kernel compression 
varied between 12.5% and 13.5% with a size difference from 54K to 67K. 
 

             bzImage bzImage     upx     upx
               small   large   small   large
        386     2877    3563    2124    2556
        486    10322   12031    9548   11580
        586       68      88     152      84
       PENT        1       0       0      0
        PRO        0       0      0       4
    386+FPU    30866   31147   25676   29616

In this table each entry shows haw much larger the kernel is than the 
smallest kernel in that column. There is little difference in the sizes of 
the 586, Pentium and Pentium Pro kernels. The 486 kernel is significantly 
larger than the 386 kernel, ranging from 7424 bytes to 9024 bytes larger. 
And finally there is the 386+FPU kernel. Not much to be said about it other 
than don't use it unless you need to. :)

It looks to me that there is no compelling reason to compile kernels other 
than the "generic" 586 kernel, the 386 kernel and the 386FPU kernel. IIRC 
there is only a 2%-3% difference in speed between different kernel versions. 
Not enough to worry about.

Upx'd kernels is another issue. The disk savings is significant. And I don't 
recall anybody mentioning they had problems with a upx'd kernel. Should they 
become the "standard" kernel for LEAF? That extra 50K or 60K of room sure is 
tempting...

Reply via email to