From: Al Viro <viro@ZenIV.linux.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Sam Ravnborg <sam@ravnborg.org>,
Alexey Dobriyan <adobriyan@gmail.com>,
Al Viro <viro@ftp.linux.org.uk>,
linux-kernel@vger.kernel.org, jgarzik@pobox.com
Subject: Re: [PATCH] el3_common_init() should be __devinit, not __init
Date: Sun, 2 Nov 2008 18:47:23 +0000 [thread overview]
Message-ID: <20081102184723.GE28946@ZenIV.linux.org.uk> (raw)
In-Reply-To: <alpine.LFD.2.00.0811021008060.3483@nehalem.linux-foundation.org>
On Sun, Nov 02, 2008 at 10:13:03AM -0800, Linus Torvalds wrote:
>
>
> On Sat, 1 Nov 2008, Sam Ravnborg wrote:
> >
> > For cpuinit/cpuexit the gain turned out to be minimal.
>
> Quite frankly, I'm not convinced.
>
> Yeah, yeah, most distro's end up always enabling CPU hotplug due to
> suspend/resume, but:
>
> - desktop PC's aren't where most memory pressures are anyway
>
> - on UP, CONFIG_HOTPLUG_CPU isn't on even if you do have suspend/resume
>
> - we should still care about embedded devices, and while some of them are
> growing up (and having SMP and not caring about a few tens of kB of
> memory), I don't think that's a valid argument for the other ones.
>
> So. I'd rather we try to keep our init sections, and continue to spend
> effort on fixing them. If at all possible.
FWIW, I've tweaked that stuff yesterday for a while. Results so far:
alpha, arm[*], s390, s390x, uml - all down to zero section conflicts;
amd64 (UP and SMP) - one conflict, and it looks like a real issue.
i386 - same + one false positive.
sparc32 - one potential real issue (cpuinit, BTW)
sparc64 - one conflict, again likely to be a real problem
m68k - 3 conflicts, one of them looking like a real bug
m32r - 4 conflicts, by the look of it boiling down to single misannotation
ppc, ppc64, ia64 - 7--10 conflicts on each, hadn't looked into them yet.
That - from one afternoon of hacking. And I'm yet to look at ppc/ppc64/ia64;
I would be very surprised if these didn't have low-hanging fruits.
[*] 2 arm configs I have sitting around - didn't do all subarchitectures.
Now, what we *really* ought to do is taking that crap to sparse where it
really can be handled sanely, without "variable name ends on magical
string '_shp', so we won't complain about pointers to .init.text anywhere
in it" kind of "logics".
What we need is something along the lines of "->probe() in pci_driver
can be in .devinit.text and it can be called only if...". Which is
much, _much_ easier for sparse to handle. We need to figure out what
to do with *.S, but other than that... this is really not a job for
modpost.
next prev parent reply other threads:[~2008-11-02 18:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-01 18:20 [PATCH] el3_common_init() should be __devinit, not __init Al Viro
2008-11-01 19:12 ` Alexey Dobriyan
2008-11-01 19:16 ` Al Viro
2008-11-01 19:27 ` Alexey Dobriyan
2008-11-01 19:32 ` Al Viro
2008-11-01 21:17 ` Sam Ravnborg
2008-11-02 18:13 ` Linus Torvalds
2008-11-02 18:47 ` Al Viro [this message]
2008-11-02 20:31 ` Sam Ravnborg
2008-11-06 5:42 ` Jeff Garzik
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=20081102184723.GE28946@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=adobriyan@gmail.com \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@ravnborg.org \
--cc=torvalds@linux-foundation.org \
--cc=viro@ftp.linux.org.uk \
/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.