Re: [BUGFIX PATCH 1/3] selftests/ftrace: Fix to check the existence of set_ftrace_filter

Masami Hiramatsu
2019-11-24T23:34:59Z

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
>

--
Masami Hiramatsu <mhiramat@kernel.org>