linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BUGFIX PATCH v2 0/3] selftests/ftrace: Fix ftracetest testcases for non-function tracer case
@ 2019-11-25  0:11 Masami Hiramatsu
  2019-11-25  0:11 ` [BUGFIX PATCH v2 1/3] selftests/ftrace: Fix to check the existence of set_ftrace_filter Masami Hiramatsu
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Masami Hiramatsu @ 2019-11-25  0:11 UTC (permalink / raw)
  To: Shuah Khan, Steven Rostedt; +Cc: linux-kselftest, linux-kernel

Hi,

Here is the 2nd version of patches to fix some issues which happens on
the kernel with CONFIG_FUNCTION_TRACER=n or CONFIG_DYNAMIC_FTRACE=n.
In this version I just updated the descriptions of the first 2 patches
according to Steve's comment and add his Reviewed-by to the last patch.

Thank you,

---

Masami Hiramatsu (3):
      selftests/ftrace: Fix to check the existence of set_ftrace_filter
      selftests/ftrace: Fix ftrace test cases to check unsupported
      selftests/ftrace: Do not to use absolute debugfs path


 .../ftrace/test.d/ftrace/func-filter-stacktrace.tc |    2 ++
 .../selftests/ftrace/test.d/ftrace/func_cpumask.tc |    5 +++++
 tools/testing/selftests/ftrace/test.d/functions    |    4 +++-
 .../inter-event/trigger-action-hist-xfail.tc       |    4 ++--
 .../inter-event/trigger-onchange-action-hist.tc    |    2 +-
 .../inter-event/trigger-snapshot-action-hist.tc    |    4 ++--
 6 files changed, 15 insertions(+), 6 deletions(-)

--
Masami Hiramatsu (Linaro) <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [BUGFIX PATCH v2 1/3] selftests/ftrace: Fix to check the existence of set_ftrace_filter
  2019-11-25  0:11 [BUGFIX PATCH v2 0/3] selftests/ftrace: Fix ftracetest testcases for non-function tracer case Masami Hiramatsu
@ 2019-11-25  0:11 ` Masami Hiramatsu
  2019-11-25  0:11 ` [BUGFIX PATCH v2 2/3] selftests/ftrace: Fix ftrace test cases to check unsupported Masami Hiramatsu
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Masami Hiramatsu @ 2019-11-25  0:11 UTC (permalink / raw)
  To: Shuah Khan, Steven Rostedt; +Cc: linux-kselftest, linux-kernel

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_*
     [ -f set_graph_function ] && echo | tee set_graph_*
     [ -f stack_trace_filter ] && echo > stack_trace_filter
     [ -f kprobe_events ] && echo > kprobe_events


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [BUGFIX PATCH v2 2/3] selftests/ftrace: Fix ftrace test cases to check unsupported
  2019-11-25  0:11 [BUGFIX PATCH v2 0/3] selftests/ftrace: Fix ftracetest testcases for non-function tracer case Masami Hiramatsu
  2019-11-25  0:11 ` [BUGFIX PATCH v2 1/3] selftests/ftrace: Fix to check the existence of set_ftrace_filter Masami Hiramatsu
@ 2019-11-25  0:11 ` Masami Hiramatsu
  2019-11-25  0:11 ` [BUGFIX PATCH v2 3/3] selftests/ftrace: Do not to use absolute debugfs path Masami Hiramatsu
  2019-11-25  6:39 ` [BUGFIX PATCH v2 0/3] selftests/ftrace: Fix ftracetest testcases for non-function tracer case Masami Hiramatsu
  3 siblings, 0 replies; 5+ messages in thread
From: Masami Hiramatsu @ 2019-11-25  0:11 UTC (permalink / raw)
  To: Shuah Khan, Steven Rostedt; +Cc: linux-kselftest, linux-kernel

Since dynamic function tracer can be disabled, set_ftrace_filter
can be disappeared. Test cases which depends on it, must check
whether the set_ftrace_filter exists or not before testing
and if not, return as unsupported.

Also, if the function tracer itself is disabled, we can not
set "function" to current_tracer. Test cases must check it
before testing, and return as unsupported.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
---
 .../ftrace/test.d/ftrace/func-filter-stacktrace.tc |    2 ++
 .../selftests/ftrace/test.d/ftrace/func_cpumask.tc |    5 +++++
 2 files changed, 7 insertions(+)

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 36fb59f886ea..1a52f2883fe0 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,6 +3,8 @@
 # description: ftrace - stacktrace filter command
 # flags: instance
 
+[ ! -f set_ftrace_filter ] && exit_unsupported
+
 echo _do_fork:stacktrace >> set_ftrace_filter
 
 grep -q "_do_fork:stacktrace:unlimited" set_ftrace_filter
diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_cpumask.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_cpumask.tc
index 86a1f07ef2ca..7757b549f0b6 100644
--- a/tools/testing/selftests/ftrace/test.d/ftrace/func_cpumask.tc
+++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_cpumask.tc
@@ -15,6 +15,11 @@ if [ $NP -eq 1 ] ;then
   exit_unresolved
 fi
 
+if ! grep -q function available_tracers ; then
+  echo "Function trace is not enabled"
+  exit_unsupported
+fi
+
 ORIG_CPUMASK=`cat tracing_cpumask`
 
 do_reset() {


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [BUGFIX PATCH v2 3/3] selftests/ftrace: Do not to use absolute debugfs path
  2019-11-25  0:11 [BUGFIX PATCH v2 0/3] selftests/ftrace: Fix ftracetest testcases for non-function tracer case Masami Hiramatsu
  2019-11-25  0:11 ` [BUGFIX PATCH v2 1/3] selftests/ftrace: Fix to check the existence of set_ftrace_filter Masami Hiramatsu
  2019-11-25  0:11 ` [BUGFIX PATCH v2 2/3] selftests/ftrace: Fix ftrace test cases to check unsupported Masami Hiramatsu
@ 2019-11-25  0:11 ` Masami Hiramatsu
  2019-11-25  6:39 ` [BUGFIX PATCH v2 0/3] selftests/ftrace: Fix ftracetest testcases for non-function tracer case Masami Hiramatsu
  3 siblings, 0 replies; 5+ messages in thread
From: Masami Hiramatsu @ 2019-11-25  0:11 UTC (permalink / raw)
  To: Shuah Khan, Steven Rostedt; +Cc: linux-kselftest, linux-kernel

Use relative path to trigger file instead of absolute debugfs path,
because if the user uses tracefs instead of debugfs, it can be
mounted at /sys/kernel/tracing.
Anyway, since the ftracetest is designed to be run at the tracing
directory, user doesn't need to use absolute path.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 .../inter-event/trigger-action-hist-xfail.tc       |    4 ++--
 .../inter-event/trigger-onchange-action-hist.tc    |    2 +-
 .../inter-event/trigger-snapshot-action-hist.tc    |    4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-action-hist-xfail.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-action-hist-xfail.tc
index 1221240f8cf6..3f2aee115f6e 100644
--- a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-action-hist-xfail.tc
+++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-action-hist-xfail.tc
@@ -21,10 +21,10 @@ grep -q "snapshot()" README || exit_unsupported # version issue
 
 echo "Test expected snapshot action failure"
 
-echo 'hist:keys=comm:onmatch(sched.sched_wakeup).snapshot()' >> /sys/kernel/debug/tracing/events/sched/sched_waking/trigger && exit_fail
+echo 'hist:keys=comm:onmatch(sched.sched_wakeup).snapshot()' >> events/sched/sched_waking/trigger && exit_fail
 
 echo "Test expected save action failure"
 
-echo 'hist:keys=comm:onmatch(sched.sched_wakeup).save(comm,prio)' >> /sys/kernel/debug/tracing/events/sched/sched_waking/trigger && exit_fail
+echo 'hist:keys=comm:onmatch(sched.sched_wakeup).save(comm,prio)' >> events/sched/sched_waking/trigger && exit_fail
 
 exit_xfail
diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc
index 064a284e4e75..c80007aa9f86 100644
--- a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc
+++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc
@@ -16,7 +16,7 @@ grep -q "onchange(var)" README || exit_unsupported # version issue
 
 echo "Test onchange action"
 
-echo 'hist:keys=comm:newprio=prio:onchange($newprio).save(comm,prio) if comm=="ping"' >> /sys/kernel/debug/tracing/events/sched/sched_waking/trigger
+echo 'hist:keys=comm:newprio=prio:onchange($newprio).save(comm,prio) if comm=="ping"' >> events/sched/sched_waking/trigger
 
 ping $LOCALHOST -c 3
 nice -n 1 ping $LOCALHOST -c 3
diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc
index 18fff69fc433..f546c1b66a9b 100644
--- a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc
+++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc
@@ -23,9 +23,9 @@ grep -q "snapshot()" README || exit_unsupported # version issue
 
 echo "Test snapshot action"
 
-echo 1 > /sys/kernel/debug/tracing/events/sched/enable
+echo 1 > events/sched/enable
 
-echo 'hist:keys=comm:newprio=prio:onchange($newprio).save(comm,prio):onchange($newprio).snapshot() if comm=="ping"' >> /sys/kernel/debug/tracing/events/sched/sched_waking/trigger
+echo 'hist:keys=comm:newprio=prio:onchange($newprio).save(comm,prio):onchange($newprio).snapshot() if comm=="ping"' >> events/sched/sched_waking/trigger
 
 ping $LOCALHOST -c 3
 nice -n 1 ping $LOCALHOST -c 3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [BUGFIX PATCH v2 0/3] selftests/ftrace: Fix ftracetest testcases for non-function tracer case
  2019-11-25  0:11 [BUGFIX PATCH v2 0/3] selftests/ftrace: Fix ftracetest testcases for non-function tracer case Masami Hiramatsu
                   ` (2 preceding siblings ...)
  2019-11-25  0:11 ` [BUGFIX PATCH v2 3/3] selftests/ftrace: Do not to use absolute debugfs path Masami Hiramatsu
@ 2019-11-25  6:39 ` Masami Hiramatsu
  3 siblings, 0 replies; 5+ messages in thread
From: Masami Hiramatsu @ 2019-11-25  6:39 UTC (permalink / raw)
  To: Masami Hiramatsu
  Cc: Shuah Khan, Steven Rostedt, linux-kselftest, linux-kernel

On Mon, 25 Nov 2019 09:11:12 +0900
Masami Hiramatsu <mhiramat@kernel.org> wrote:

> Hi,
> 
> Here is the 2nd version of patches to fix some issues which happens on
> the kernel with CONFIG_FUNCTION_TRACER=n or CONFIG_DYNAMIC_FTRACE=n.
> In this version I just updated the descriptions of the first 2 patches
> according to Steve's comment and add his Reviewed-by to the last patch.

Oops, I found another bug in ftracetest. I will send v3 with that patch.
Please ignore this v2.

Thank you,


-- 
Masami Hiramatsu <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-11-25  6:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-25  0:11 [BUGFIX PATCH v2 0/3] selftests/ftrace: Fix ftracetest testcases for non-function tracer case Masami Hiramatsu
2019-11-25  0:11 ` [BUGFIX PATCH v2 1/3] selftests/ftrace: Fix to check the existence of set_ftrace_filter Masami Hiramatsu
2019-11-25  0:11 ` [BUGFIX PATCH v2 2/3] selftests/ftrace: Fix ftrace test cases to check unsupported Masami Hiramatsu
2019-11-25  0:11 ` [BUGFIX PATCH v2 3/3] selftests/ftrace: Do not to use absolute debugfs path Masami Hiramatsu
2019-11-25  6:39 ` [BUGFIX PATCH v2 0/3] selftests/ftrace: Fix ftracetest testcases for non-function tracer case Masami Hiramatsu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).