Re: [pull request] getting rid of __cpuinit

From: Arjan van de Ven
Date: Sat Oct 25 2008 - 12:29:50 EST


On Sat, 25 Oct 2008 18:21:16 +0200
Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:

> On Sat, Oct 25, 2008 at 08:06:38AM -0700, Arjan van de Ven wrote:
> > On Sat, 25 Oct 2008 16:35:28 +0200
> > Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
> > > So if you look at the size of the cpuinit/exit sections in the
> > > before case you get the real space saving that is lost in the
> > > embedded case after your patch is applied.
> > > The space savings that happen after early init.
> >
> > [linux.trees.git]# objdump -h vmlinux.before | grep init.text
> > 25 .init.text 00037c25 ffffffff8152a000 000000000152a000
> > 0092a000 [inux.trees.git]# objdump -h vmlinux.after | grep
> > init.text 25 .init.text 000316c2 ffffffff81542000
> > 0000000001542000 00942000
>
> So with your config we will loose a saving of 25955 bytes
> of text.
>
> I tried to look a the numbers of a defconfig build here.
> cpuinit.text equals 0x5d97 = 23959
> cpuinit.data equals 0x3574 = 13684
>
> [objdump of vmlinux.o gives you the size of the cpuinit sections]
>
> So if we decide to drop cpuinit then it should be based on the
> above figure and not the 2k figure you gave in the original mail.
>
> Or even better we should see the difference with a typical
> embedded configuration and not some big defconfig build.
> I will assume the saving is less on a typical embedded
> configuration.

it will be; on x86 you end up inheriting all cpu vendors init code.
on embedded you only have the dedicated CPU code.

... just that on x86... nobody seems to be in this position, it's
almost impossble to have HOTPLUG_CPU even be asked.


--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
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/