Re: Bloat report 2.6.3 -> 2.6.4

From: Matt Mackall
Date: Sat Mar 13 2004 - 12:37:43 EST


On Sat, Mar 13, 2004 at 06:08:40PM +0100, Adrian Bunk wrote:
> On Fri, Mar 12, 2004 at 05:53:49PM -0600, Matt Mackall wrote:
> > On Fri, Mar 12, 2004 at 03:22:06PM -0800, Andrew Morton wrote:
> > > Matt Mackall <mpm@xxxxxxxxxxx> wrote:
> > > >
> > > > 2.6.3 -> 2.6.4
> > > >
> > > > text data bss dec hex filename
> > > > 3313135 660247 162472 4135854 3f1bae vmlinux-2.6.3-c2.6.3
> > > > 3342019 664154 162344 4168517 3f9b45 vmlinux-2.6.4-c2.6.3
> > > >
> > > > [ Results of size <a> <b>. -c2.6.3 means both kernel images were built
> > > > with the 2.6.3 defconfig.
> > >
> > > But defconfig was changed between 2.6.3 and 2.6.4.
> >
> > Yes, and I'm attempting to compensate for that because defconfig
> > changes tend to overwhelm other stuff in the results.
> >
> > My strategy here doesn't work as well as I'd hoped. I'm taking the
> > defconfig from the previous kernel and then running yes "" | make
> > oldconfig, which sets any new symbols to their defaults. So this deals
> > with case where existing symbols change defaults, but doesn't address
> > new symbols at all.
> >
> > And what's happening with some of the new symbols is that they're off
> > in defconfig but on in Kconfig. So I need to come up with a way to
> > take the old defconfig and merge in new symbols from the new
> > defconfig. Then throw it at make oldconfig to drop out any obsolete
> > symbols.
>
> You have to realize that your "automated scheme to measure the growth of
> the kernel" doesn't work as you might have expected.
>
> As an example, consider the following option gets added:
>
> config ACPI_NEW_OPTION
> bool "new option"
> depends on ACPI
> default y
> help
> This option adds support for $new_feature.
> It enlarges your kernel by about 100k.
> It's save to say Y.
>
>
> In your size metric, this option would be pure "bloat".

I actually did explicitly note this problem in the part you clipped.
But I think it's fair to say that new features that are on by default
are in fact bloat in some sense.

--
Matt Mackall : http://www.selenic.com : Linux development and consulting
-
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/