From: Masami Hiramatsu <mhiramat@kernel.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Xiao Yang <yangx.jy@cn.fujitsu.com>, <shuah@kernel.org>,
<ice_yangxiao@163.com>, <linux-kselftest@vger.kernel.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
Shuah Khan <skhan@linuxfoundation.org>
Subject: Re: [PATCH] selftests/ftrace: Check required filter files before running test
Date: Thu, 23 Apr 2020 00:26:24 +0900 [thread overview]
Message-ID: <20200423002624.b315fc63d3699a4dd494ff8e@kernel.org> (raw)
In-Reply-To: <20200422092110.6a4f0cfb@gandalf.local.home>
On Wed, 22 Apr 2020 09:21:10 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:
> On Wed, 22 Apr 2020 17:58:07 +0800
> Xiao Yang <yangx.jy@cn.fujitsu.com> wrote:
>
> > Without CONFIG_DYNAMIC_FTRACE, some tests get failure because required
> > filter files(set_ftrace_filter/available_filter_functions/stack_trace_filter)
> > are missing. So implement check_filter_file() and make all related tests
> > check required filter files by it.
> >
> > BTW: set_ftrace_filter and available_filter_functions are introduced together
> > so just check either of them.
>
> I'm fine with that.
>
> I'd like an Acked-by from Masami, and then Shauh, can you take this?
This looks good to me too. please pick it up.
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Thank you,
>
> -- Steve
>
> >
> > Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
> > ---
> > .../selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc | 5 +----
> > .../testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc | 2 ++
> > .../selftests/ftrace/test.d/ftrace/func-filter-glob.tc | 2 ++
> > .../ftrace/test.d/ftrace/func-filter-notrace-pid.tc | 5 +----
> > .../selftests/ftrace/test.d/ftrace/func-filter-pid.tc | 5 +----
> > .../ftrace/test.d/ftrace/func-filter-stacktrace.tc | 2 +-
> > .../selftests/ftrace/test.d/ftrace/func_event_triggers.tc | 5 +----
> > .../selftests/ftrace/test.d/ftrace/func_mod_trace.tc | 2 +-
> > .../testing/selftests/ftrace/test.d/ftrace/func_profiler.tc | 5 +----
> > .../selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc | 5 +----
> > .../selftests/ftrace/test.d/ftrace/func_stack_tracer.tc | 2 ++
> > .../ftrace/test.d/ftrace/func_traceonoff_triggers.tc | 5 +----
> > tools/testing/selftests/ftrace/test.d/functions | 6 ++++++
> > .../testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc | 2 ++
> > 14 files changed, 23 insertions(+), 30 deletions(-)
> >
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
> > index aefab0c66d54..f59853857ad2 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
> > @@ -10,10 +10,7 @@ if ! grep -q function_graph available_tracers; then
> > exit_unsupported
> > fi
> >
> > -if [ ! -f set_ftrace_filter ]; then
> > - echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
> > - exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >
> > do_reset() {
> > if [ -e /proc/sys/kernel/stack_tracer_enabled ]; then
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
> > index c8a5209f2119..d610f47edd90 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
> > @@ -9,6 +9,8 @@ if ! grep -q function_graph available_tracers; then
> > exit_unsupported
> > fi
> >
> > +check_filter_file set_ftrace_filter
> > +
> > fail() { # msg
> > echo $1
> > exit_fail
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-glob.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-glob.tc
> > index f4e92afab14b..28936f434ee5 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-glob.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-glob.tc
> > @@ -9,6 +9,8 @@ if ! grep -q function available_tracers; then
> > exit_unsupported
> > fi
> >
> > +check_filter_file set_ftrace_filter
> > +
> > disable_tracing
> > clear_trace
> >
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc
> > index 8aa46a2ea133..71db68a7975f 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-notrace-pid.tc
> > @@ -15,10 +15,7 @@ if [ ! -f set_ftrace_notrace_pid ]; then
> > exit_unsupported
> > fi
> >
> > -if [ ! -f set_ftrace_filter ]; then
> > - echo "set_ftrace_filter not found? Is function tracer not set?"
> > - exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >
> > do_function_fork=1
> >
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
> > index f2ee1e889e13..d58403c4b7cd 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-pid.tc
> > @@ -16,10 +16,7 @@ if [ ! -f set_ftrace_pid ]; then
> > exit_unsupported
> > fi
> >
> > -if [ ! -f set_ftrace_filter ]; then
> > - echo "set_ftrace_filter not found? Is function tracer not set?"
> > - exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >
> > do_function_fork=1
> >
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-stacktrace.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-stacktrace.tc
> > index 1a52f2883fe0..b2aff786c1a2 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-stacktrace.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func-filter-stacktrace.tc
> > @@ -3,7 +3,7 @@
> > # description: ftrace - stacktrace filter command
> > # flags: instance
> >
> > -[ ! -f set_ftrace_filter ] && exit_unsupported
> > +check_filter_file set_ftrace_filter
> >
> > echo _do_fork:stacktrace >> set_ftrace_filter
> >
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> > index ca2ffd7957f9..e9b1fd534e96 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc
> > @@ -11,10 +11,7 @@
> > #
> >
> > # The triggers are set within the set_ftrace_filter file
> > -if [ ! -f set_ftrace_filter ]; then
> > - echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
> > - exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >
> > do_reset() {
> > reset_ftrace_filter
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc
> > index 9330c873f9fe..1a4b4a442d33 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_mod_trace.tc
> > @@ -2,7 +2,7 @@
> > # SPDX-License-Identifier: GPL-2.0
> > # description: ftrace - function trace on module
> >
> > -[ ! -f set_ftrace_filter ] && exit_unsupported
> > +check_filter_file set_ftrace_filter
> >
> > : "mod: allows to filter a non exist function"
> > echo 'non_exist_func:mod:non_exist_module' > set_ftrace_filter
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc
> > index dfbae637c60c..a3dadb6b93b4 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc
> > @@ -18,10 +18,7 @@ if ! grep -q function_graph available_tracers; then
> > exit_unsupported;
> > fi
> >
> > -if [ ! -f set_ftrace_filter ]; then
> > - echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
> > - exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >
> > if [ ! -f function_profile_enabled ]; then
> > echo "function_profile_enabled not found, function profiling enabled?"
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
> > index 51f6e6146bd9..70bad441fa7d 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc
> > @@ -10,10 +10,7 @@
> > #
> >
> > # The triggers are set within the set_ftrace_filter file
> > -if [ ! -f set_ftrace_filter ]; then
> > - echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
> > - exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >
> > fail() { # mesg
> > echo $1
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_stack_tracer.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_stack_tracer.tc
> > index b414f0e3c646..51e9e80bc0e6 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_stack_tracer.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_stack_tracer.tc
> > @@ -8,6 +8,8 @@ if [ ! -f stack_trace ]; then
> > exit_unsupported
> > fi
> >
> > +check_filter_file stack_trace_filter
> > +
> > echo > stack_trace_filter
> > echo 0 > stack_max_size
> > echo 1 > /proc/sys/kernel/stack_tracer_enabled
> > diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc
> > index 1947387fe976..3ed173f2944a 100644
> > --- a/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc
> > @@ -11,10 +11,7 @@
> > #
> >
> > # The triggers are set within the set_ftrace_filter file
> > -if [ ! -f set_ftrace_filter ]; then
> > - echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
> > - exit_unsupported
> > -fi
> > +check_filter_file set_ftrace_filter
> >
> > fail() { # mesg
> > echo $1
> > diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions
> > index 5d4550591ff9..61a3c7e2634d 100644
> > --- a/tools/testing/selftests/ftrace/test.d/functions
> > +++ b/tools/testing/selftests/ftrace/test.d/functions
> > @@ -1,3 +1,9 @@
> > +check_filter_file() { # check filter file introduced by dynamic ftrace
> > + if [ ! -f "$1" ]; then
> > + echo "$1 not found? Is dynamic ftrace not set?"
> > + exit_unsupported
> > + fi
> > +}
> >
> > clear_trace() { # reset trace output
> > echo > trace
> > diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc
> > index 7650a82db3f5..df5072815b87 100644
> > --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc
> > +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc
> > @@ -5,6 +5,8 @@
> > [ -f kprobe_events ] || exit_unsupported # this is configurable
> > grep "function" available_tracers || exit_unsupported # this is configurable
> >
> > +check_filter_file set_ftrace_filter
> > +
> > # prepare
> > echo nop > current_tracer
> > echo _do_fork > set_ftrace_filter
>
--
Masami Hiramatsu <mhiramat@kernel.org>
prev parent reply other threads:[~2020-04-22 15:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-22 9:58 [PATCH] selftests/ftrace: Check required filter files before running test Xiao Yang
2020-04-22 13:21 ` Steven Rostedt
2020-04-22 15:09 ` Shuah Khan
2020-04-22 15:26 ` Masami Hiramatsu [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200423002624.b315fc63d3699a4dd494ff8e@kernel.org \
--to=mhiramat@kernel.org \
--cc=ice_yangxiao@163.com \
--cc=linux-kselftest@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=shuah@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=yangx.jy@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox