Message ID | 157457133923.25666.16444621591775429575.stgit@devnote2 (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests/ftrace: Fix ftracetest testcases for non-function tracer case | expand |
On Sun, 24 Nov 2019 13:55:39 +0900 Masami Hiramatsu <mhiramat@kernel.org> wrote: > If we run ftracetest on the kernel with CONFIG_FUNCTION_TRACER=n, > there is no set_ftrace_filter and all test cases are failed, Note, that we can have CONFIG_FUNCTION_TRACER=y and there be no set_ftrace_filter. That is determined by CONFIG_DYNAMIC_FTRACE. I guess we should probably still check for that for this test, but I just wanted to state that set_ftrace_filter is not dependent on FUNCTION_TRACER but instead DYNAMIC_FTRACE. > 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_* This also resets set_ftrace_notrace, which reset_ftrace_filter does not. -- Steve > [ -f set_graph_function ] && echo | tee set_graph_* > [ -f stack_trace_filter ] && echo > stack_trace_filter > [ -f kprobe_events ] && echo > kprobe_events
On Sun, 24 Nov 2019 16:35:29 -0500 Steven Rostedt <rostedt@goodmis.org> wrote: > On Sun, 24 Nov 2019 13:55:39 +0900 > Masami Hiramatsu <mhiramat@kernel.org> wrote: > > > If we run ftracetest on the kernel with CONFIG_FUNCTION_TRACER=n, > > there is no set_ftrace_filter and all test cases are failed, > > Note, that we can have CONFIG_FUNCTION_TRACER=y and there be no > set_ftrace_filter. That is determined by CONFIG_DYNAMIC_FTRACE. I guess > we should probably still check for that for this test, but I just > wanted to state that set_ftrace_filter is not dependent on > FUNCTION_TRACER but instead DYNAMIC_FTRACE. Ah, good catch! I always set DYNAMIC_FTRACE=y if FUNCTION_TRACER=y. OK, I'll update the description. Thank you, > > > > 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_* > > This also resets set_ftrace_notrace, which reset_ftrace_filter does not. > > -- Steve > > > > [ -f set_graph_function ] && echo | tee set_graph_* > > [ -f stack_trace_filter ] && echo > stack_trace_filter > > [ -f kprobe_events ] && echo > kprobe_events >
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
If we run ftracetest on the kernel with CONFIG_FUNCTION_TRACER=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(-)