diff mbox

linux-next: tracing/powerpc tree build failure

Message ID 20090327230834.93d0221d.sfr@canb.auug.org.au (mailing list archive)
State Accepted, archived
Commit a095bdbb136f7bed96b7adf5aa1dd27bb2f839bf
Headers show

Commit Message

Stephen Rothwell March 27, 2009, 12:08 p.m. UTC
Hi all,

Today's linux-next build (powerpc allyesconfig) failed like this:

arch/powerpc/kernel/ftrace.c: In function 'prepare_ftrace_return':
arch/powerpc/kernel/ftrace.c:612: warning: passing argument 3 of 'ftrace_push_return_trace' makes pointer from integer without a cast
arch/powerpc/kernel/ftrace.c:612: error: too many arguments to function 'ftrace_push_return_trace'

Caused by commit 5d1a03dc541dc6672e60e57249ed22f40654ca47
("function-graph: moved the timestamp from arch to generic code") from
the tracing tree which (removed an argument from
ftrace_push_return_trace()) interacting with commit
6794c78243bfda020ab184d6d578944f8e90d26c ("powerpc64: port of the
function graph tracer") from the powerpc tree.

I added the following patch and can carry it as necessary.

Comments

Steven Rostedt March 27, 2009, 12:48 p.m. UTC | #1
On Fri, 2009-03-27 at 23:08 +1100, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next build (powerpc allyesconfig) failed like this:
> 
> arch/powerpc/kernel/ftrace.c: In function 'prepare_ftrace_return':
> arch/powerpc/kernel/ftrace.c:612: warning: passing argument 3 of 'ftrace_push_return_trace' makes pointer from integer without a cast
> arch/powerpc/kernel/ftrace.c:612: error: too many arguments to function 'ftrace_push_return_trace'
> 
> Caused by commit 5d1a03dc541dc6672e60e57249ed22f40654ca47
> ("function-graph: moved the timestamp from arch to generic code") from
> the tracing tree which (removed an argument from
> ftrace_push_return_trace()) interacting with commit
> 6794c78243bfda020ab184d6d578944f8e90d26c ("powerpc64: port of the
> function graph tracer") from the powerpc tree.
> 
> I added the following patch and can carry it as necessary.

Thanks Stephen!!!

I knew this was going to break, but I needed to wait till powerpc merged
with tip before I could make the change.

> -- 
> Cheers,
> Stephen Rothwell                    sfr@canb.auug.org.au
> http://www.canb.auug.org.au/~sfr/
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Fri, 27 Mar 2009 22:47:58 +1100
> Subject: [PATCH] tracing: fixup for ftrace_push_return_trace API change
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  arch/powerpc/kernel/ftrace.c |    6 +-----
>  1 files changed, 1 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/ftrace.c b/arch/powerpc/kernel/ftrace.c
> index 5b5d16b..5455943 100644
> --- a/arch/powerpc/kernel/ftrace.c
> +++ b/arch/powerpc/kernel/ftrace.c
> @@ -557,7 +557,6 @@ extern void mod_return_to_handler(void);
>  void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
>  {
>  	unsigned long old;
> -	unsigned long long calltime;
>  	int faulted;
>  	struct ftrace_graph_ent trace;
>  	unsigned long return_hooker = (unsigned long)&return_to_handler;
> @@ -606,10 +605,7 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
>  		return;
>  	}
>  
> -	calltime = cpu_clock(raw_smp_processor_id());
> -
> -	if (ftrace_push_return_trace(old, calltime,
> -				self_addr, &trace.depth) == -EBUSY) {
> +	if (ftrace_push_return_trace(old, self_addr, &trace.depth) == -EBUSY) {

This is exactly what I would have done.

Acked-by: Steven Rostedt <srostedt@redhat.com>

-- Steve

>  		*parent = old;
>  		return;
>  	}
Stephen Rothwell March 27, 2009, 2:21 p.m. UTC | #2
Hi Steve,

On Fri, 27 Mar 2009 08:48:51 -0400 Steven Rostedt <srostedt@redhat.com> wrote:
>
> I knew this was going to break, but I needed to wait till powerpc merged
> with tip before I could make the change.

Yeah, a bit of a pain but we can live with it for a while.

> This is exactly what I would have done.

Thanks for the confirmation.  I guess I will keep applying this until one
tree or the other hits mainline at which point it can be fixed in the
other tree.
Stephen Rothwell March 31, 2009, 5:54 a.m. UTC | #3
Hi all,

This patch is now applicable to the tracing tree after merging with
Linus' tree.

On Fri, 27 Mar 2009 08:48:51 -0400 Steven Rostedt <srostedt@redhat.com> wrote:
>
> 
> On Fri, 2009-03-27 at 23:08 +1100, Stephen Rothwell wrote:
> > Hi all,
> > 
> > Today's linux-next build (powerpc allyesconfig) failed like this:
> > 
> > arch/powerpc/kernel/ftrace.c: In function 'prepare_ftrace_return':
> > arch/powerpc/kernel/ftrace.c:612: warning: passing argument 3 of 'ftrace_push_return_trace' makes pointer from integer without a cast
> > arch/powerpc/kernel/ftrace.c:612: error: too many arguments to function 'ftrace_push_return_trace'
> > 
> > Caused by commit 5d1a03dc541dc6672e60e57249ed22f40654ca47
> > ("function-graph: moved the timestamp from arch to generic code") from
> > the tracing tree which (removed an argument from
> > ftrace_push_return_trace()) interacting with commit
> > 6794c78243bfda020ab184d6d578944f8e90d26c ("powerpc64: port of the
> > function graph tracer") from the powerpc tree.
> > 
> > I added the following patch and can carry it as necessary.
> 
> Thanks Stephen!!!
> 
> I knew this was going to break, but I needed to wait till powerpc merged
> with tip before I could make the change.
> 
> > -- 
> > Cheers,
> > Stephen Rothwell                    sfr@canb.auug.org.au
> > http://www.canb.auug.org.au/~sfr/
> > 
> > From: Stephen Rothwell <sfr@canb.auug.org.au>
> > Date: Fri, 27 Mar 2009 22:47:58 +1100
> > Subject: [PATCH] tracing: fixup for ftrace_push_return_trace API change
> > 
> > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> > ---
> >  arch/powerpc/kernel/ftrace.c |    6 +-----
> >  1 files changed, 1 insertions(+), 5 deletions(-)
> > 
> > diff --git a/arch/powerpc/kernel/ftrace.c b/arch/powerpc/kernel/ftrace.c
> > index 5b5d16b..5455943 100644
> > --- a/arch/powerpc/kernel/ftrace.c
> > +++ b/arch/powerpc/kernel/ftrace.c
> > @@ -557,7 +557,6 @@ extern void mod_return_to_handler(void);
> >  void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
> >  {
> >  	unsigned long old;
> > -	unsigned long long calltime;
> >  	int faulted;
> >  	struct ftrace_graph_ent trace;
> >  	unsigned long return_hooker = (unsigned long)&return_to_handler;
> > @@ -606,10 +605,7 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
> >  		return;
> >  	}
> >  
> > -	calltime = cpu_clock(raw_smp_processor_id());
> > -
> > -	if (ftrace_push_return_trace(old, calltime,
> > -				self_addr, &trace.depth) == -EBUSY) {
> > +	if (ftrace_push_return_trace(old, self_addr, &trace.depth) == -EBUSY) {
> 
> This is exactly what I would have done.
> 
> Acked-by: Steven Rostedt <srostedt@redhat.com>
> 
> -- Steve
> 
> >  		*parent = old;
> >  		return;
> >  	}
>
Ingo Molnar April 1, 2009, 12:51 p.m. UTC | #4
* Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> Hi all,
> 
> This patch is now applicable to the tracing tree after merging 
> with Linus' tree.

Thanks, that's useful info.

There's the skb tracepoints related merge fixlet needed too. 
Anything else in this context you are aware of?

	Ingo
Stephen Rothwell April 1, 2009, 1:03 p.m. UTC | #5
Hi Ingo,

[Its midnight, so this is just a quick reply.]

On Wed, 1 Apr 2009 14:51:48 +0200 Ingo Molnar <mingo@elte.hu> wrote:
>
> * Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> 
> > This patch is now applicable to the tracing tree after merging 
> > with Linus' tree.
> 
> Thanks, that's useful info.
> 
> There's the skb tracepoints related merge fixlet needed too. 
> Anything else in this context you are aware of?

They are the only two build fixes I have at the moment.  On top of that
these are the only conflicts I get when merging the tip trees:

Merging tip-core/auto-core-next
CONFLICT (content): Merge conflict in include/linux/netfilter/xt_limit.h
CONFLICT (content): Merge conflict in include/linux/netfilter/xt_statistic.h
CONFLICT (content): Merge conflict in lib/Kconfig.debug
Merging cpus4096/auto-cpus4096-next
CONFLICT (content): Merge conflict in arch/x86/include/asm/topology.h
CONFLICT (content): Merge conflict in arch/x86/kernel/cpu/common.c
CONFLICT (content): Merge conflict in arch/x86/kernel/cpu/intel_cacheinfo.c
CONFLICT (content): Merge conflict in drivers/oprofile/buffer_sync.c
Merging tracing/auto-tracing-next
CONFLICT (add/add): Merge conflict in arch/parisc/include/asm/ftrace.h
CONFLICT (content): Merge conflict in include/linux/slub_def.h
CONFLICT (content): Merge conflict in kernel/extable.c
CONFLICT (content): Merge conflict in mm/slob.c
CONFLICT (content): Merge conflict in mm/slub.c

I think these are mostly trivial (except the parisc one you commented on
before).  Some are caused by the same commit being in two trees and
further work in one of them.  Anything non-tivial will have been reported
previously.
diff mbox

Patch

diff --git a/arch/powerpc/kernel/ftrace.c b/arch/powerpc/kernel/ftrace.c
index 5b5d16b..5455943 100644
--- a/arch/powerpc/kernel/ftrace.c
+++ b/arch/powerpc/kernel/ftrace.c
@@ -557,7 +557,6 @@  extern void mod_return_to_handler(void);
 void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
 {
 	unsigned long old;
-	unsigned long long calltime;
 	int faulted;
 	struct ftrace_graph_ent trace;
 	unsigned long return_hooker = (unsigned long)&return_to_handler;
@@ -606,10 +605,7 @@  void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
 		return;
 	}
 
-	calltime = cpu_clock(raw_smp_processor_id());
-
-	if (ftrace_push_return_trace(old, calltime,
-				self_addr, &trace.depth) == -EBUSY) {
+	if (ftrace_push_return_trace(old, self_addr, &trace.depth) == -EBUSY) {
 		*parent = old;
 		return;
 	}