2003-03-04 22:51:38

by Daniel Egger

[permalink] [raw]
Subject: Kernel bloat 2.4 vs. 2.5

Hija,

I've seen surprisingly few messages about the dramatic size increase
between a simple 2.4 and a 2.5 kernel image.

I just decided to check back with the 2.5 series again after my last try
with 2.5.53 (which wouldn't even boot) but had to dramatically cut down
the kernel featurewise to keep it below 1MB because I can't boot it over
tftp otherwise.

909824 Feb 14 20:02 vmlinuz-192.168.11.3-2.4.20
954880 Mar 4 17:01 vmlinuz-192.168.11.3-2.5.63

What you see here is a 2.4 kernel with almost everything needed to run
the machine built in and a (rsync'ed) 2.5.63 kernel with everything but
the basic stuff + ipv4 + NIC + NFS (+ other necessary features not
builtable as modules) built as modules.

Are there any patches I've missed to get that down? A slight tad bigger
and I couldn't even work with recent kernels if modules actually
worked... :/

--
Servus,
Daniel


Attachments:
signature.asc (189.00 B)
Dies ist ein digital signierter Nachrichtenteil

2003-03-04 23:34:40

by Andrew Morton

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

Daniel Egger <[email protected]> wrote:
>
> Hija,
>
> I've seen surprisingly few messages about the dramatic size increase
> between a simple 2.4 and a 2.5 kernel image.
>
> I just decided to check back with the 2.5 series again after my last try
> with 2.5.53 (which wouldn't even boot) but had to dramatically cut down
> the kernel featurewise to keep it below 1MB because I can't boot it over
> tftp otherwise.
>
> 909824 Feb 14 20:02 vmlinuz-192.168.11.3-2.4.20
> 954880 Mar 4 17:01 vmlinuz-192.168.11.3-2.5.63

2.4 has magical size reduction tricks in it which were not brought into 2.5
because we expect that gcc will do it for us.

Please specify the compiler which was used, and use /usr/bin/size to report
image sizes.


2003-03-05 01:49:28

by Chris Wedgwood

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

On Tue, Mar 04, 2003 at 03:41:05PM -0800, Andrew Morton wrote:

> Daniel Egger <[email protected]> wrote:

> > I've seen surprisingly few messages about the dramatic size
> > increase between a simple 2.4 and a 2.5 kernel image.

> 2.4 has magical size reduction tricks in it which were not brought
> into 2.5 because we expect that gcc will do it for us.

I can't see it helping *that* much, for me I have:

charon:~/wk/linux% size 2.4.x-cw/vmlinux bk-2.5.x/vmlinux
text data bss dec hex filename
2003887 120260 191657 2315804 23561c 2.4.x-cw/vmlinux
2411323 267551 181004 2859878 2ba366 bk-2.5.x/vmlinux

gcc version 2.95.4 20011002 (Debian prerelease)

this is for functionally (in terms of .config) equivalent kernels.


--cw

2003-03-05 02:00:54

by Andrew Morton

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

Chris Wedgwood <[email protected]> wrote:
>
> On Tue, Mar 04, 2003 at 03:41:05PM -0800, Andrew Morton wrote:
>
> > Daniel Egger <[email protected]> wrote:
>
> > > I've seen surprisingly few messages about the dramatic size
> > > increase between a simple 2.4 and a 2.5 kernel image.
>
> > 2.4 has magical size reduction tricks in it which were not brought
> > into 2.5 because we expect that gcc will do it for us.
>
> I can't see it helping *that* much, for me I have:
>
> charon:~/wk/linux% size 2.4.x-cw/vmlinux bk-2.5.x/vmlinux
> text data bss dec hex filename
> 2003887 120260 191657 2315804 23561c 2.4.x-cw/vmlinux
> 2411323 267551 181004 2859878 2ba366 bk-2.5.x/vmlinux
>
> gcc version 2.95.4 20011002 (Debian prerelease)
>
> this is for functionally (in terms of .config) equivalent kernels.
>

Don't know what your point is here, really.

2.4 has hacks to make it smaller. iirc they were worth ~200 kbytes, or
around 10%.

gcc-3.x string sharing was supposed to make those hacks unnecesary. However
a quick test here shows gcc-3.2.1 generating a 10% larger 2.5 image than
gcc-2.95.3, so a club may need to be taken to 2.5 as well.

2003-03-05 02:13:04

by Robert Love

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

On Tue, 2003-03-04 at 20:59, Chris Wedgwood wrote:

> I can't see it helping *that* much, for me I have:
>
> charon:~/wk/linux% size 2.4.x-cw/vmlinux bk-2.5.x/vmlinux
> text data bss dec hex filename
> 2003887 120260 191657 2315804 23561c 2.4.x-cw/vmlinux
> 2411323 267551 181004 2859878 2ba366 bk-2.5.x/vmlinux
>
> gcc version 2.95.4 20011002 (Debian prerelease)

Ugh look at that increase in data. Is this SMP?

Robert Love

2003-03-05 02:21:11

by Andrew Morton

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

Robert Love <[email protected]> wrote:
>
> On Tue, 2003-03-04 at 20:59, Chris Wedgwood wrote:
>
> > I can't see it helping *that* much, for me I have:
> >
> > charon:~/wk/linux% size 2.4.x-cw/vmlinux bk-2.5.x/vmlinux
> > text data bss dec hex filename
> > 2003887 120260 191657 2315804 23561c 2.4.x-cw/vmlinux
> > 2411323 267551 181004 2859878 2ba366 bk-2.5.x/vmlinux
> >
> > gcc version 2.95.4 20011002 (Debian prerelease)
>
> Ugh look at that increase in data. Is this SMP?
>

well kallsyms is worth 150k.

Do `strings vmlinux' and take a look at it all.

2003-03-05 02:24:58

by Kai Germaschewski

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

On Tue, 4 Mar 2003, Chris Wedgwood wrote:

> charon:~/wk/linux% size 2.4.x-cw/vmlinux bk-2.5.x/vmlinux
> text data bss dec hex filename
> 2003887 120260 191657 2315804 23561c 2.4.x-cw/vmlinux
> 2411323 267551 181004 2859878 2ba366 bk-2.5.x/vmlinux
>
> gcc version 2.95.4 20011002 (Debian prerelease)

objdump -h vmlinux gives even more detailed information, which could be
quite useful. E.g. the increase in data could be __kallsyms, which is a
config option in 2.5.

--Kai


2003-03-05 02:27:08

by Robert Love

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

On Tue, 2003-03-04 at 21:32, Andrew Morton wrote:

> well kallsyms is worth 150k.
>
> Do `strings vmlinux' and take a look at it all.

Oh, yah. If he has kallsyms enabled that explains most of it.

Robert Love

2003-03-05 02:56:18

by Chris Wedgwood

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

On Tue, Mar 04, 2003 at 09:23:00PM -0500, Robert Love wrote:

> Ugh look at that increase in data. Is this SMP?

UP ... no preempt.

As somene pointed out, kallsyms doesn't help, so let me rebuild and
compare again.


--cw

2003-03-05 03:05:09

by Steven Cole

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

On Tue, 2003-03-04 at 19:37, Robert Love wrote:
> On Tue, 2003-03-04 at 21:32, Andrew Morton wrote:
>
> > well kallsyms is worth 150k.
> >
> > Do `strings vmlinux' and take a look at it all.
>
> Oh, yah. If he has kallsyms enabled that explains most of it.
>
> Robert Love

This shows what taking out kallsyms can do:

text data bss dec hex filename
1860575 293780 337404 2491759 26056f kernels/linux-2.4.18/vmlinux
1936720 311656 157792 2406168 24b718 BK/testing-2.5/vmlinux
1936592 437556 158720 2532868 26a604 BK/testing-2.5/vmlinux-with-kallsyms

The 2.5 tree was current yesterday.
The .config files were as "functionally equivalent" as I could make them,
and except for CONFIG_KALLSYMS, were identical for the two 2.5 images.
gcc is 2.96.

Steven

2003-03-06 03:28:36

by Daniel Egger

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

Am Mit, 2003-03-05 um 00.41 schrieb Andrew Morton:

> Please specify the compiler which was used, and use /usr/bin/size to report
> image sizes.

The compiler was in both cases:
gcc version 3.2.3 20030228 (Debian prerelease)

2.4.20:

2271565 Feb 25 17:08 vmlinux

text data bss dec hex filename
1730302 112564 176676 2019542 1ed0d6 vmlinux

2.5.63:

2561828 Mar 4 16:50 vmlinux

text data bss dec hex filename
1867787 167450 140292 2175529 213229 vmlinux


As I said, the 2.4 kernel has almost everything built in while 2.5 was
stripped down to minimum size possible. The latter is still unusable
since modules do not work. :/

--
Servus,
Daniel


Attachments:
signature.asc (189.00 B)
Dies ist ein digital signierter Nachrichtenteil

2003-03-06 17:01:45

by Felipe Alfaro Solana

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

----- Original Message -----
From: Daniel Egger <[email protected]>
Date: 06 Mar 2003 04:25:15 +0100
To: Andrew Morton <[email protected]>
Subject: Re: Kernel bloat 2.4 vs. 2.5

> Am Mit, 2003-03-05 um 00.41 schrieb Andrew Morton:

> As I said, the 2.4 kernel has almost everything built in while 2.5 was
> stripped down to minimum size possible. The latter is still unusable
> since modules do not work. :/

??? I'm using 2.5 and modules do work perfectly... Did you
get Rusty's latest modutils?

Felipe

--
______________________________________________
http://www.linuxmail.org/
Now with e-mail forwarding for only US$5.95/yr

Powered by Outblaze

2003-03-06 20:30:51

by Daniel Egger

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

Am Don, 2003-03-06 um 15.22 schrieb Felipe Alfaro Solana:

> ??? I'm using 2.5 and modules do work perfectly... Did you
> get Rusty's latest modutils?

Negative, I'm using what Debian (unstable in this case) provides
me. This system has to be booted by a variety of systems, will the
latest modutils work with 2.4 without modification?

This is what I have:
ii modutils 2.4.21-1 Linux module utilities.

--
Servus,
Daniel


Attachments:
signature.asc (189.00 B)
Dies ist ein digital signierter Nachrichtenteil

2003-03-06 23:23:47

by Andreas Boman

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

On Thu, 2003-03-06 at 14:51, Daniel Egger wrote:
> Am Don, 2003-03-06 um 15.22 schrieb Felipe Alfaro Solana:
>
> > ??? I'm using 2.5 and modules do work perfectly... Did you
> > get Rusty's latest modutils?
>
> Negative, I'm using what Debian (unstable in this case) provides
> me. This system has to be booted by a variety of systems, will the
> latest modutils work with 2.4 without modification?
>
> This is what I have:
> ii modutils 2.4.21-1 Linux module utilities.
>

apt-get install module-init-tools, it will install 'right' and let you
use modules with 2.4 and 2.5 kernels.

--
Andreas

2003-03-06 23:34:15

by Joel Becker

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

On Thu, Mar 06, 2003 at 06:34:13PM -0500, Andreas Boman wrote:
> apt-get install module-init-tools, it will install 'right' and let you
> use modules with 2.4 and 2.5 kernels.

As long as you don't use mkinitrd. If you do, make sure you
keep around the 2.4 insmod.static in another directory to fix your
initrds.

Joel

--

Life's Little Instruction Book #267

"Lie on your back and look at the stars."

Joel Becker
Senior Member of Technical Staff
Oracle Corporation
E-mail: [email protected]
Phone: (650) 506-8127

2003-03-07 14:29:41

by Daniel Egger

[permalink] [raw]
Subject: Re: Kernel bloat 2.4 vs. 2.5

Am Fre, 2003-03-07 um 00.34 schrieb Andreas Boman:

> apt-get install module-init-tools, it will install 'right' and let you
> use modules with 2.4 and 2.5 kernels.

Close but not cigar. Trying to load modules blocks the system quite a
bit and I get lots of failures like realloc errors which unfortunately
disappear too fast from the screen to capture. The system is still
booting after 6 mins...

257 root 15 -10 257m 227m 1176 D 80.8 45.1 0:22.67 modprobe

The system is fully saturated by modprobes... :(

--
Servus,
Daniel


Attachments:
signature.asc (189.00 B)
Dies ist ein digital signierter Nachrichtenteil