public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Jaswinder Singh Rajput <jaswinder@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>, Ingo Molnar <mingo@elte.hu>,
	x86 maintainers <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	josh@freedesktop.org
Subject: Re: [PATCH -tip] x86: ftrace.c declare prepare_ftrace_return before they get used
Date: Fri, 10 Apr 2009 14:58:26 +0200	[thread overview]
Message-ID: <20090410125824.GA5988@nowhere> (raw)
In-Reply-To: <1239337795.3036.25.camel@ht.satnam>

On Fri, Apr 10, 2009 at 09:59:55AM +0530, Jaswinder Singh Rajput wrote:
> On Thu, 2009-04-09 at 14:55 -0400, Steven Rostedt wrote:
> > 
> > On Thu, 9 Apr 2009, Jaswinder Singh Rajput wrote:
> > 
> > > 
> > > Subject: [PATCH] x86: ftrace.c declare prepare_ftrace_return before they get used
> > > 
> > > Impact: fix sparse warning:
> > >   arch/x86/kernel/ftrace.c:411:6: warning: symbol 'prepare_ftrace_return' was not declared. Should it be static?
> > > 
> > > Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
> > > ---
> > >  arch/x86/include/asm/ftrace.h |    5 +++++
> > >  1 files changed, 5 insertions(+), 0 deletions(-)
> > > 
> > > diff --git a/arch/x86/include/asm/ftrace.h b/arch/x86/include/asm/ftrace.h
> > > index bd2c651..ddc9236 100644
> > > --- a/arch/x86/include/asm/ftrace.h
> > > +++ b/arch/x86/include/asm/ftrace.h
> > > @@ -59,6 +59,11 @@ struct dyn_arch_ftrace {
> > >  };
> > >  
> > >  #endif /*  CONFIG_DYNAMIC_FTRACE */
> > > +
> > > +#ifdef CONFIG_FUNCTION_GRAPH_TRACER
> > > +extern void prepare_ftrace_return(unsigned long *, unsigned long);
> > > +#endif
> > > +
> > 
> > The only caller is from assembly, so this patch is unnecessary. Unless we 
> > have some rule that all functions must have a prototype, even when it is 
> > only called from assembly.
> > 
> 
> Then:
> 
> diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
> index 18dfa30..75c0682 100644
> --- a/arch/x86/kernel/ftrace.c
> +++ b/arch/x86/kernel/ftrace.c
> @@ -408,6 +408,7 @@ int ftrace_disable_ftrace_graph_caller(void)
>   * Hook the return address and push it in the stack of return addrs
>   * in current thread info.
>   */
> +asmlinkage



No. This is how prepare_ftrace_return was called at first.
But note that prepare_ftrace_return may be called for every
kernel function while tracing, hence every pico optimization
is important. asmlinkage will push the arguments to the stack
while we want to keep the fastcall here by passing them to the
registers.

Sparse is a useful tool, but sometime there are exceptions when its
warnings should be ignored IMO.

Frederic.

>  void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
>  {
>         unsigned long old;
> 
> 
> Josh: Do you think sparse should not warn like for this case.
> What will be the best solution for this case.
> 
> --
> JSR
> 
> 


      reply	other threads:[~2009-04-10 12:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-09 16:37 [PATCH -tip] x86: ftrace.c declare prepare_ftrace_return before they get used Jaswinder Singh Rajput
2009-04-09 17:20 ` Frederic Weisbecker
2009-04-09 17:41   ` Jaswinder Singh Rajput
2009-04-09 18:55     ` Steven Rostedt
2009-04-10  4:29       ` Jaswinder Singh Rajput
2009-04-10 12:58         ` Frederic Weisbecker [this message]

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=20090410125824.GA5988@nowhere \
    --to=fweisbec@gmail.com \
    --cc=jaswinder@kernel.org \
    --cc=josh@freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.org \
    --cc=x86@kernel.org \
    /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