From: Sam Ravnborg <sam@ravnborg.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Jacek Luczak <difrost.kernel@gmail.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86: pgtable_32.h - prototype and section mismatch fixes
Date: Mon, 14 Apr 2008 10:41:27 +0200 [thread overview]
Message-ID: <20080414084127.GA11372@uranus.ravnborg.org> (raw)
In-Reply-To: <20080414072645.GG16163@elte.hu>
On Mon, Apr 14, 2008 at 09:26:45AM +0200, Ingo Molnar wrote:
>
> * Jacek Luczak <difrost.kernel@gmail.com> wrote:
>
> > paravirt_pagetable_setup_[start,done]() is used by __init
> > pagetable_init(). Annotate both functions with __init.
>
> > #ifndef CONFIG_PARAVIRT
> > -static inline void paravirt_pagetable_setup_start(pgd_t *base)
> > +static inline void __init paravirt_pagetable_setup_start(pgd_t *base)
> > {
> > native_pagetable_setup_start(base);
> > }
>
> hm, that's an interesting case: we need those annotations probably
> because gcc decided to not inline those functions. (this is possible via
> the new CONFIG_OPTIMIZE_INLINING=y option) Sam, what's your take on
> that?
gcc uses different heuristics for inlining between the different
versions. Therefore to achieve somehow predictable results I
added -fno-inline-functions-called-once when CONFIG_DEBUG_SECTION_MISMATCH
is enabled.
So in the above case for any normal kernel build we would see that
gcc inlined the above and everything is fine.
But for the CONFIG_DEBUG_SECTION_MISMTCH cases we do not inline and
thus we see that we have a section mismatch.
The rationale was that it is better to annotate a few more functions and
reliable results across gcc versions than it is to see section
mismatch warnings only with older but not newer gcc versions.
Sam
next prev parent reply other threads:[~2008-04-14 8:41 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-13 15:41 Jacek Luczak
2008-04-14 7:26 ` Ingo Molnar
2008-04-14 8:41 ` Sam Ravnborg [this message]
2008-04-14 8:53 ` Ingo Molnar
2008-04-14 8:59 ` Sam Ravnborg
2008-04-14 9:11 ` Jacek Luczak
2008-04-14 9:52 ` Sam Ravnborg
2008-04-14 11:21 ` Jacek Luczak
2008-04-14 18:31 ` Sam Ravnborg
2008-04-14 8:59 ` Jacek Luczak
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=20080414084127.GA11372@uranus.ravnborg.org \
--to=sam@ravnborg.org \
--cc=difrost.kernel@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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