Re: [RFC][PATCH 0/10] 64 bit resources

From: Vivek Goyal
Date: Fri Mar 24 2006 - 13:03:15 EST


On Fri, Mar 24, 2006 at 01:12:17AM -0800, Andrew Morton wrote:
> Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
> >
> > Hi,
> >
> > Here is an attempt to implement support for 64 bit resources. This will
> > enable memory more than 4G to be exported through /proc/iomem, which is used
> > by kexec/kdump to determine the physical memory layout of the system.
> >
> > ...
> >
> > We used "make allyesconfig" with CONFIG_DEBUG_INFO=n on 2.6.16-mm1.
> >
> > i386
> > ----
> >
> > vmlinux size without patch: 40191425
> > vmlinux size with path: 40244677
> > vmlinux size bloat: 52K (.13%)
>
> ugh, that's actually a surprising amount of growth. Could you look into it
> a bit more please? Where's it coming from? text? data?


Andrew, most of it seems to be coming from .text. I have pasted few results
below.

>
> A bit of growth in drivers is probably OK, as all machines load a tiny
> subset of them. But if it's core kernel, not so good. What is the effect
> on allnoconfig?

Here are more compilation results with allnoconfig, allmodconfig and
allyesconfig on i386. I have picked section sizes from the output of readelf.

allnoconfig
----------

vmlinux bloat: 0

.text bloat: 1008 bytes
.data bloat: 672 bytes.
.init.text bloat: 128 bytes
.init.data bloat: 0 bytes

(Not sure why vmlinux size difference is zero, given the fact that few
sections are showing bloated size)


allmodconfig (CONFIG_DEBUG_INFO=n)
------------

vmlinux bloat:4096 bytes

.text bloat: 4064 bytes
.init.text bloat: 470 bytes
.data bloat: 640 bytes


allyesconfig (CONFIG_DEBUG_INFO=n)
-----------

vmlinux size bloat: 52K

.text bloat: 28.5K
.init_text bloat: 5K
.eh_frame bloat: 16K (What's that. Looks big)
.rodata bloat: 152 bytes
.data bloat: 768 bytes


Thanks
Vivek
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/