From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org, linux-trace-devel@vger.kernel.org
Cc: Ingo Molnar <mingo@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Masami Hiramatsu <mhiramat@kernel.org>,
"Tzvetomir Stoyanov" <tz.stoyanov@gmail.com>,
Tom Zanussi <zanussi@kernel.org>
Subject: [PATCH v7 09/10] selftests/ftrace: Add clear_dynamic_events() to test cases
Date: Thu, 19 Aug 2021 00:13:30 -0400 [thread overview]
Message-ID: <20210819041842.696873153@goodmis.org> (raw)
In-Reply-To: 20210819041321.105110033@goodmis.org
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Add a function to remove all dynamic events from the tracing directory. It
requires a loop as some of the dynamic events may depend on others being
removed first. Also add a safety that prevents it from looping infinitely
due to a bug where an event never gets removed.
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
.../testing/selftests/ftrace/test.d/functions | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions
index a6fac927ee82..1e6ae4a243a4 100644
--- a/tools/testing/selftests/ftrace/test.d/functions
+++ b/tools/testing/selftests/ftrace/test.d/functions
@@ -83,6 +83,27 @@ clear_synthetic_events() { # reset all current synthetic events
done
}
+clear_dynamic_events() { # reset all current dynamic events
+ again=1
+ stop=1
+ # loop mulitple times as some events require other to be removed first
+ while [ $again -eq 1 ]; do
+ stop=$((stop+1))
+ # Prevent infinite loops
+ if [ $stop -gt 10 ]; then
+ break;
+ fi
+ again=2
+ grep -v '^#' dynamic_events|
+ while read line; do
+ del=`sed -e 's/^.\([^ ]*\).*/-\1/'`
+ if ! echo "$del" >> dynamic_events; then
+ again=1
+ fi
+ done
+ done
+}
+
initialize_ftrace() { # Reset ftrace to initial-state
# As the initial state, ftrace will be set to nop tracer,
# no events, no triggers, no filters, no function filters,
@@ -93,6 +114,7 @@ initialize_ftrace() { # Reset ftrace to initial-state
reset_events_filter
reset_ftrace_filter
disable_events
+ clear_dynamic_events
[ -f set_event_pid ] && echo > set_event_pid
[ -f set_ftrace_pid ] && echo > set_ftrace_pid
[ -f set_ftrace_notrace ] && echo > set_ftrace_notrace
--
2.30.2
next prev parent reply other threads:[~2021-08-19 4:18 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-19 4:13 [PATCH v7 00/10] tracing: Creation of event probe Steven Rostedt
2021-08-19 4:13 ` [PATCH v7 01/10] tracing: Add DYNAMIC flag for dynamic events Steven Rostedt
2021-08-19 4:13 ` [PATCH v7 02/10] tracing: Have dynamic events have a ref counter Steven Rostedt
2021-08-19 4:13 ` [PATCH v7 03/10] tracing/probe: Have traceprobe_parse_probe_arg() take a const arg Steven Rostedt
2021-08-19 4:13 ` [PATCH v7 04/10] tracing/probes: Allow for dot delimiter as well as slash for system names Steven Rostedt
2021-08-19 4:13 ` [PATCH v7 05/10] tracing/probes: Use struct_size() instead of defining custom macros Steven Rostedt
2021-08-19 4:13 ` [PATCH v7 06/10] tracing/probe: Change traceprobe_set_print_fmt() to take a type Steven Rostedt
2021-08-19 4:51 ` Masami Hiramatsu
2021-08-19 4:13 ` [PATCH v7 07/10] tracing/probes: Have process_fetch_insn() take a void * instead of pt_regs Steven Rostedt
2021-08-19 4:52 ` Masami Hiramatsu
2021-08-19 4:13 ` [PATCH v7 08/10] tracing: Add a probe that attaches to trace events Steven Rostedt
2021-08-19 10:22 ` Masami Hiramatsu
2021-08-19 10:26 ` [PATCH] tracing/probes: Reject events which have the same name of existing one Masami Hiramatsu
2021-08-19 12:53 ` [PATCH v7 08/10] tracing: Add a probe that attaches to trace events Steven Rostedt
2021-08-19 4:13 ` Steven Rostedt [this message]
2021-08-19 13:57 ` [PATCH v7 09/10] selftests/ftrace: Add clear_dynamic_events() to test cases Steven Rostedt
2021-08-19 4:13 ` [PATCH v7 10/10] selftests/ftrace: Add selftest for testing eprobe events Steven Rostedt
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=20210819041842.696873153@goodmis.org \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-devel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=mingo@kernel.org \
--cc=tz.stoyanov@gmail.com \
--cc=zanussi@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.