All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Arjan van de Ven <arjan@infradead.org>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org,
	Matt Mackall <mpm@selenic.com>
Subject: Re: [pull request] getting rid of __cpuinit
Date: Sat, 25 Oct 2008 16:35:28 +0200	[thread overview]
Message-ID: <20081025143528.GA30900@uranus.ravnborg.org> (raw)
In-Reply-To: <20081025070043.50578543@infradead.org>

On Sat, Oct 25, 2008 at 07:00:43AM -0700, Arjan van de Ven wrote:
> On Sat, 25 Oct 2008 09:59:25 +0200
> Sam Ravnborg <sam@ravnborg.org> wrote:
> 
> > >    text	   data	    bss	    dec
> > > hex	filename 4618096	1358684	 848588
> > > 6825368	 682598	vmlinux.before 4619965
> > > 1356908	 848716	6825589  682675	vmlinux.after
> > 
> > The interesting number here is the size of the cpuinit/cpuexit
> > sections. cpuinit sections are discarded after init and cpuexit
> > sections are discarded if you do not use modules.
> > 
> > Can you share these numbers with us?
> 
> those sections don't actually exist because of the linker script 
> magic...
The code exist in both the before and after case, only in the after case
you cannot distingush them.
Your patch simply moves code/data from the cpuinit/exit sections
to .text/.data.

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.

As for the complexity of especially the cpuinit/exit stuff
the reason is that whoever started to use this mechnishm extended
the __cpuinit case to be:

a) Code that is only used during early init and can be discarded
b) Code that is only used for CPU hotplugging


The a) case is the traditional way __fooinit is used.
The b) case is usually handled by our configuration
but for CPU hotplugging it was misused.


Let us please get the numbers correct before we rip it out.

	Sam

  reply	other threads:[~2008-10-25 14:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-24 21:20 [pull request] getting rid of __cpuinit Arjan van de Ven
2008-10-24 21:37 ` [PATCH] kbuild: drop cpuinit/cpuexit checks in modpost Sam Ravnborg
2008-10-25 23:56   ` Arjan van de Ven
2008-10-25  7:59 ` [pull request] getting rid of __cpuinit Sam Ravnborg
2008-10-25 14:00   ` Arjan van de Ven
2008-10-25 14:35     ` Sam Ravnborg [this message]
2008-10-25 15:06       ` Arjan van de Ven
2008-10-25 16:21         ` Sam Ravnborg
2008-10-25 16:29           ` Arjan van de Ven
2008-10-25 18:20             ` Rafael J. Wysocki
2008-10-25 21:36               ` Sam Ravnborg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081025143528.GA30900@uranus.ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpm@selenic.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.