diff mbox series

[BUGFIX,v3,1/4] selftests/ftrace: Fix to check the existence of set_ftrace_filter

Message ID 157466502067.21973.8795718044691377192.stgit@devnote2 (mailing list archive)
State New
Headers show
Series selftests/ftrace: Fix ftracetest testcases for non-function tracer case | expand

Commit Message

Masami Hiramatsu (Google) Nov. 25, 2019, 6:57 a.m. UTC
If we run ftracetest on the kernel with CONFIG_DYNAMIC_FTRACE=n,
there is no set_ftrace_filter and all test cases are failed,
because reset_ftrace_filter returns an error.
Let's check whether set_ftrace_filter exists and remove redundant
set_ftrace_filter from initialize_ftrace().

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
---
 tools/testing/selftests/ftrace/test.d/functions |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Steven Rostedt Nov. 25, 2019, 2:44 p.m. UTC | #1
On Mon, 25 Nov 2019 15:57:00 +0900
Masami Hiramatsu <mhiramat@kernel.org> wrote:

> If we run ftracetest on the kernel with CONFIG_DYNAMIC_FTRACE=n,
> there is no set_ftrace_filter and all test cases are failed,
> because reset_ftrace_filter returns an error.
> Let's check whether set_ftrace_filter exists and remove redundant
> set_ftrace_filter from initialize_ftrace().
> 
> Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
> ---
>  tools/testing/selftests/ftrace/test.d/functions |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions
> index 86986c4bba54..19d288cdf336 100644
> --- a/tools/testing/selftests/ftrace/test.d/functions
> +++ b/tools/testing/selftests/ftrace/test.d/functions
> @@ -46,6 +46,9 @@ reset_events_filter() { # reset all current setting filters
>  }
>  
>  reset_ftrace_filter() { # reset all triggers in set_ftrace_filter
> +    if [ ! -f set_ftrace_filter ]; then
> +      return 0
> +    fi
>      echo > set_ftrace_filter
>      grep -v '^#' set_ftrace_filter | while read t; do
>  	tr=`echo $t | cut -d: -f2`
> @@ -93,7 +96,6 @@ initialize_ftrace() { # Reset ftrace to initial-state
>      disable_events
>      [ -f set_event_pid ] && echo > set_event_pid
>      [ -f set_ftrace_pid ] && echo > set_ftrace_pid
> -    [ -f set_ftrace_filter ] && echo | tee set_ftrace_*

The above should be changed to:

	[ -f set_ftrace_notrace ] && echo > set_ftrace_notrace

-- Steve


>      [ -f set_graph_function ] && echo | tee set_graph_*
>      [ -f stack_trace_filter ] && echo > stack_trace_filter
>      [ -f kprobe_events ] && echo > kprobe_events
Masami Hiramatsu (Google) Nov. 26, 2019, 12:13 a.m. UTC | #2
On Mon, 25 Nov 2019 09:44:45 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:

> On Mon, 25 Nov 2019 15:57:00 +0900
> Masami Hiramatsu <mhiramat@kernel.org> wrote:
> 
> > If we run ftracetest on the kernel with CONFIG_DYNAMIC_FTRACE=n,
> > there is no set_ftrace_filter and all test cases are failed,
> > because reset_ftrace_filter returns an error.
> > Let's check whether set_ftrace_filter exists and remove redundant
> > set_ftrace_filter from initialize_ftrace().
> > 
> > Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
> > ---
> >  tools/testing/selftests/ftrace/test.d/functions |    4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions
> > index 86986c4bba54..19d288cdf336 100644
> > --- a/tools/testing/selftests/ftrace/test.d/functions
> > +++ b/tools/testing/selftests/ftrace/test.d/functions
> > @@ -46,6 +46,9 @@ reset_events_filter() { # reset all current setting filters
> >  }
> >  
> >  reset_ftrace_filter() { # reset all triggers in set_ftrace_filter
> > +    if [ ! -f set_ftrace_filter ]; then
> > +      return 0
> > +    fi
> >      echo > set_ftrace_filter
> >      grep -v '^#' set_ftrace_filter | while read t; do
> >  	tr=`echo $t | cut -d: -f2`
> > @@ -93,7 +96,6 @@ initialize_ftrace() { # Reset ftrace to initial-state
> >      disable_events
> >      [ -f set_event_pid ] && echo > set_event_pid
> >      [ -f set_ftrace_pid ] && echo > set_ftrace_pid
> > -    [ -f set_ftrace_filter ] && echo | tee set_ftrace_*
> 
> The above should be changed to:
> 
> 	[ -f set_ftrace_notrace ] && echo > set_ftrace_notrace

Ah, good point! I think that should be done by another patch, since
it will improve ftracetest.

Thank you,

> 
> -- Steve
> 
> 
> >      [ -f set_graph_function ] && echo | tee set_graph_*
> >      [ -f stack_trace_filter ] && echo > stack_trace_filter
> >      [ -f kprobe_events ] && echo > kprobe_events
>
Steven Rostedt Nov. 26, 2019, 1:54 a.m. UTC | #3
On Tue, 26 Nov 2019 09:13:45 +0900
Masami Hiramatsu <mhiramat@kernel.org> wrote:

> > > @@ -93,7 +96,6 @@ initialize_ftrace() { # Reset ftrace to initial-state
> > >      disable_events
> > >      [ -f set_event_pid ] && echo > set_event_pid
> > >      [ -f set_ftrace_pid ] && echo > set_ftrace_pid
> > > -    [ -f set_ftrace_filter ] && echo | tee set_ftrace_*  
> > 
> > The above should be changed to:
> > 
> > 	[ -f set_ftrace_notrace ] && echo > set_ftrace_notrace  
> 
> Ah, good point! I think that should be done by another patch, since
> it will improve ftracetest.

No, it belongs in this patch, because you are removing:

	[ -f set_ftrace_filter ] && echo | tee set_ftrace_*

which is equivalent to:

	[ -f set_ftrace_filter ] && echo > set_ftrace_filter
	[ -f set_ftrace_filter ] && echo > set_ftrace_notrace

as the "tee set_ftrace_*" covers both.

Without this change, this patch removes the update to
set_ftrace_notrace.

-- Steve
Masami Hiramatsu (Google) Nov. 26, 2019, 7:31 a.m. UTC | #4
On Mon, 25 Nov 2019 20:54:29 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:

> On Tue, 26 Nov 2019 09:13:45 +0900
> Masami Hiramatsu <mhiramat@kernel.org> wrote:
> 
> > > > @@ -93,7 +96,6 @@ initialize_ftrace() { # Reset ftrace to initial-state
> > > >      disable_events
> > > >      [ -f set_event_pid ] && echo > set_event_pid
> > > >      [ -f set_ftrace_pid ] && echo > set_ftrace_pid
> > > > -    [ -f set_ftrace_filter ] && echo | tee set_ftrace_*  
> > > 
> > > The above should be changed to:
> > > 
> > > 	[ -f set_ftrace_notrace ] && echo > set_ftrace_notrace  
> > 
> > Ah, good point! I think that should be done by another patch, since
> > it will improve ftracetest.
> 
> No, it belongs in this patch, because you are removing:
> 
> 	[ -f set_ftrace_filter ] && echo | tee set_ftrace_*
> 
> which is equivalent to:
> 
> 	[ -f set_ftrace_filter ] && echo > set_ftrace_filter
> 	[ -f set_ftrace_filter ] && echo > set_ftrace_notrace
> 
> as the "tee set_ftrace_*" covers both.

Ah, I see. 

> 
> Without this change, this patch removes the update to
> set_ftrace_notrace.

OK, I'll update it.

Thank you!

> 
> -- Steve
diff mbox series

Patch

diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions
index 86986c4bba54..19d288cdf336 100644
--- a/tools/testing/selftests/ftrace/test.d/functions
+++ b/tools/testing/selftests/ftrace/test.d/functions
@@ -46,6 +46,9 @@  reset_events_filter() { # reset all current setting filters
 }
 
 reset_ftrace_filter() { # reset all triggers in set_ftrace_filter
+    if [ ! -f set_ftrace_filter ]; then
+      return 0
+    fi
     echo > set_ftrace_filter
     grep -v '^#' set_ftrace_filter | while read t; do
 	tr=`echo $t | cut -d: -f2`
@@ -93,7 +96,6 @@  initialize_ftrace() { # Reset ftrace to initial-state
     disable_events
     [ -f set_event_pid ] && echo > set_event_pid
     [ -f set_ftrace_pid ] && echo > set_ftrace_pid
-    [ -f set_ftrace_filter ] && echo | tee set_ftrace_*
     [ -f set_graph_function ] && echo | tee set_graph_*
     [ -f stack_trace_filter ] && echo > stack_trace_filter
     [ -f kprobe_events ] && echo > kprobe_events