From: Colin Cross <hidden> Date: 2012-07-17 02:03:17
Commit 722b3c74695377d11d18a52f3da08114d37f3f37 modified x86 ftrace to
avoid tracing all functions called from irqs when function graph was
used with a filter. Port the same fix to ARM.
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Colin Cross <redacted>
---
It looks like the same issue affects blackfin, microblaze, mips,
parisc, powerpc, s390, sh, and sparc, but I don't have patches to
fix those.
arch/arm/kernel/ftrace.c | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
@@ -179,19 +179,20 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr,old=*parent;*parent=return_hooker;-err=ftrace_push_return_trace(old,self_addr,&trace.depth,-frame_pointer);-if(err==-EBUSY){-*parent=old;-return;-}-trace.func=self_addr;+trace.depth=current->curr_ret_stack+1;/* Only trace if the calling function expects to */if(!ftrace_graph_entry(&trace)){-current->curr_ret_stack--;*parent=old;+return;+}++err=ftrace_push_return_trace(old,self_addr,&trace.depth,+frame_pointer);+if(err==-EBUSY){+*parent=old;+return;}}
From: Steven Rostedt <rostedt@goodmis.org> Date: 2012-07-18 17:38:56
On Mon, 2012-07-16 at 19:03 -0700, Colin Cross wrote:
Commit 722b3c74695377d11d18a52f3da08114d37f3f37 modified x86 ftrace to
avoid tracing all functions called from irqs when function graph was
used with a filter. Port the same fix to ARM.
Cc: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Someone on the ARM side needs to pull this in.
I'll look into fixing this for PPC.
Thanks!
-- Steve
quoted hunk
Signed-off-by: Colin Cross <redacted>
---
It looks like the same issue affects blackfin, microblaze, mips,
parisc, powerpc, s390, sh, and sparc, but I don't have patches to
fix those.
arch/arm/kernel/ftrace.c | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
@@ -179,19 +179,20 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr,old=*parent;*parent=return_hooker;-err=ftrace_push_return_trace(old,self_addr,&trace.depth,-frame_pointer);-if(err==-EBUSY){-*parent=old;-return;-}-trace.func=self_addr;+trace.depth=current->curr_ret_stack+1;/* Only trace if the calling function expects to */if(!ftrace_graph_entry(&trace)){-current->curr_ret_stack--;*parent=old;+return;+}++err=ftrace_push_return_trace(old,self_addr,&trace.depth,+frame_pointer);+if(err==-EBUSY){+*parent=old;+return;}}
From: Colin Cross <hidden> Date: 2012-07-18 18:10:18
On Wed, Jul 18, 2012 at 10:38 AM, Steven Rostedt [off-list ref] wrote:
On Mon, 2012-07-16 at 19:03 -0700, Colin Cross wrote:
quoted
Commit 722b3c74695377d11d18a52f3da08114d37f3f37 modified x86 ftrace to
avoid tracing all functions called from irqs when function graph was
used with a filter. Port the same fix to ARM.
Cc: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Someone on the ARM side needs to pull this in.
I'll look into fixing this for PPC.
Thanks!