mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Stefan Richter <stefanr@s5r6.in-berlin.de>
To: Tilman Schmidt <tilman@imap.cc>
Cc: "Henrique de Moraes Holschuh" <hmh@hmh.eng.br>,
	"René Bolldorf" <xsecute@googlemail.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [Question]  For what stand's __initdata, __devinit etc. ?
Date: Wed, 13 Jan 2010 17:37:05 +0100	[thread overview]
Message-ID: <4B4DF6B1.406@s5r6.in-berlin.de> (raw)
In-Reply-To: <4B4DB0E3.9020707@imap.cc>

Tilman Schmidt wrote:
> Am 2010-01-13 00:42 schrieb Henrique de Moraes Holschuh:
>> On Tue, 12 Jan 2010, René Bolldorf wrote:
>>> Hi,
>>> Do we really need this?
>>> It will be nice if someone can me explain this.
>> 
>> http://kernelnewbies.org/FAQ/InitExitMacros
> 
> That's far from complete. It does not, for example, mention __devinit.

This wiki contains also somewhat misleadingly worded text:  "But why
must you use these macros ?"  This should read:  "But why would you want
to use these macros?"

Answer:  They are a micro-optimization which allows the kernel to free
memory that was occupied by this code at some point, because that code
won't be used after that point anymore.  (In case of exit macros:  These
are hints to discard some code from a build in case of certain kernel
configurations.)  These macros only affect code which is statically
linked into the kernel.

Some macros, like for example __devinit, have so obscure uses and
marginal benefits that a normal developer should not bother about them.
__devinit in particular does not have any effect at all --- except if
CONFIG_HOTPLUG is not defined.  This may happen in configurations for
embedded systems.  But the majority of device drivers that you can find
in the kernel tree are irrelevant (i.e. configured off) on such systems
anyway.

Some more information on these macros can be found in Corbet, Rubini,
Kroah-Hartman: Linux Device Drivers, 3rd edition a.k.a. LDD3, which is
also gratis available on the Web.
-- 
Stefan Richter
-=====-==-=- ---= -==-=
http://arcgraph.de/sr/

  reply	other threads:[~2010-01-13 16:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-12 16:58 René Bolldorf
2010-01-12 23:42 ` Henrique de Moraes Holschuh
2010-01-13 11:39   ` Tilman Schmidt
2010-01-13 16:37     ` Stefan Richter [this message]
2010-01-13 17:12       ` René Bolldorf

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=4B4DF6B1.406@s5r6.in-berlin.de \
    --to=stefanr@s5r6.in-berlin.de \
    --cc=hmh@hmh.eng.br \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tilman@imap.cc \
    --cc=xsecute@googlemail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome