All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Jacek Luczak <difrost.kernel@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86: pgtable_32.h - prototype and section mismatch fixes
Date: Mon, 14 Apr 2008 11:52:59 +0200	[thread overview]
Message-ID: <20080414095259.GA11966@uranus.ravnborg.org> (raw)
In-Reply-To: <48031FA7.9050803@gmail.com>

On Mon, Apr 14, 2008 at 11:11:03AM +0200, Jacek Luczak wrote:
> Sam Ravnborg pisze:
> > On Mon, Apr 14, 2008 at 10:53:07AM +0200, Ingo Molnar wrote:
> >> * Sam Ravnborg <sam@ravnborg.org> wrote:
> >>
> >>>> 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.
> >> ah, ok. So i guess this will result in a few isolated cases of __init 
> >> annotations added to inline functions - Jacek fixed one such case - but 
> >> it should not result in the general spreading of __init annotations to 
> >> inline functions, correct? (which i was worried about)
> > I do not think so. The need for small isolated inline functions
> > in the init paths are minimal and last I did a section mismatch free
> > sweep on the kernel it was only few if any inline functions(*) I had
> > to annotate.
> > 
> > (*) Considering only the minimal amount of function that ought
> > to be annotated inlined.
> 
> There's a lot of inline __init functions already - which, on the other hand
> should not result in more of such. Attached you can find grep on tree which
> shows all inline __init functions (you won't find my paravirt_pagetable_setup_*
> functions in output as I removed __init for test).

Most of the functionas listed should never have been annotated inline.
If you filter aways the functions that are in one one of their
incarnations longer than 8 lines or are located in a .c file the list
is much shorter. This is the real candidates (the figure '8' is just bad way
to filter away 'complex' functions).
Your paravirt_pagetable_setup_done is a real one btw.

> Sam, do -fno-inline-functions-called-once could affect
> paravirt_pagetable_setup_done? In general there was no section mismatch warning
> for this function, but I've annotated it also.
Most liekly yes - but I did not check.

	Sam

  reply	other threads:[~2008-04-14  9:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-13 15:41 [PATCH] x86: pgtable_32.h - prototype and section mismatch fixes Jacek Luczak
2008-04-14  7:26 ` Ingo Molnar
2008-04-14  8:41   ` Sam Ravnborg
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 [this message]
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=20080414095259.GA11966@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 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.