Re: [RFC] move __devinit or __init printk constant format stringsto __devinitconst or __initdata?

From: Matt Mackall
Date: Wed Jul 22 2009 - 01:18:12 EST


On Tue, 2009-07-21 at 21:50 -0700, Joe Perches wrote:
> On Tue, 2009-07-21 at 20:28 -0500, Matt Mackall wrote:
> > On Tue, 2009-07-21 at 16:50 -0700, David Daney wrote:
> > > It would be tricky, the string data from the entire compilation unit is
> > > intermingled. You would have to separate out only those strings
> > > referenced from __init sections into their own section and fix up all
> > > symbols and relocations that were affected.
> > Exactly. Annoying but not impossible.
>
> But faster and likely easier to do once in source.

How long have you been hanging out here, Joe? You really thing it's
going to be EASY to push this change to literally thousands of drivers?
Your idea may work but it isn't pretty and also isn't an obvious big win
and is therefore going to hit a lot of friction from lots of different
people. It's already getting friction from me and I actually care about
this sort of thing.

That effort would be better spent working on something transparent,
automatic, and painless. Something people won't put up a fight about.

> > > Probably easier would be to use the plug-in feature that will be part of
> > > GCC-4.5 (or will that be called GCC-5.0??), and create a special Linux
> > > kernel GCC plug-in that just emits the __init literal strings to the
> > > proper section to begin with.
>
> Which is what the proposed marking would
> more or less do today.
>
> > > We don't want the kernel to get left
> > > behind in the GCC plug-in race.
>
> Any guess when gcc 4.5/5.0 might become available?
> It's in stage 1 now. Mid 2010 or so?
>
> 4.4.0 was April 21, 2009
> 4.3.0 was March 5, 2008
> 4.2.0 was May 13, 2007
>
> Could you please send me what you think is a
> reasonable .config for an embedded box.

Lots of devices have only MTD, JFFS, ethernet, and one other driver like
wifi.

--
http://selenic.com : development and support for Mercurial and Linux


--
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/