From: Tom Zanussi <tom.zanussi@linux.intel.com>
To: rostedt@goodmis.org
Cc: daniel.wagner@bmw-carit.de, masami.hiramatsu.pt@hitachi.com,
namhyung@kernel.org, josh@joshtriplett.org, andi@firstfloor.org,
mathieu.desnoyers@efficios.com, peterz@infradead.org,
linux-kernel@vger.kernel.org,
Tom Zanussi <tom.zanussi@linux.intel.com>
Subject: [PATCH v12 07/30] tracing: Add needs_rec flag to event triggers
Date: Mon, 23 Nov 2015 13:51:22 -0600 [thread overview]
Message-ID: <b26a316173e85b7ac6d2c2c27ea766fa416dda17.1448303214.git.tom.zanussi@linux.intel.com> (raw)
In-Reply-To: <cover.1448303214.git.tom.zanussi@linux.intel.com>
In-Reply-To: <cover.1448303214.git.tom.zanussi@linux.intel.com>
Add a new needs_rec flag for triggers that require unconditional
access to trace records in order to function.
Normally a trigger requires access to the contents of a trace record
only if it has a filter associated with it (since filters need the
contents of a record in order to make a filtering decision). Some
types of triggers, such as 'hist' triggers, require access to trace
record contents independent of the presence of filters, so add a new
flag for those triggers.
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
---
kernel/trace/trace.h | 7 +++++++
kernel/trace/trace_events_trigger.c | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index 5e23a97..300add5 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -1293,6 +1293,12 @@ struct event_trigger_ops {
* itself logs to the trace buffer, this flag should be set,
* otherwise it can be left unspecified.
*
+ * @needs_rec: A flag that says whether or not this command needs
+ * access to the trace record in order to perform its function,
+ * regardless of whether or not it has a filter associated with
+ * it (filters make a trigger require access to the trace record
+ * but are not always present).
+ *
* All the methods below, except for @set_filter(), must be
* implemented.
*
@@ -1333,6 +1339,7 @@ struct event_command {
char *name;
enum event_trigger_type trigger_type;
bool post_trigger;
+ bool needs_rec;
int (*func)(struct event_command *cmd_ops,
struct trace_event_file *file,
char *glob, char *cmd, char *params);
diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c
index 8375d29..2f881e9 100644
--- a/kernel/trace/trace_events_trigger.c
+++ b/kernel/trace/trace_events_trigger.c
@@ -498,7 +498,8 @@ void update_cond_flag(struct trace_event_file *file)
bool set_cond = false;
list_for_each_entry_rcu(data, &file->triggers, list) {
- if (data->filter || data->cmd_ops->post_trigger) {
+ if (data->filter || data->cmd_ops->post_trigger ||
+ data->cmd_ops->needs_rec) {
set_cond = true;
break;
}
--
1.9.3
next prev parent reply other threads:[~2015-11-23 19:52 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-23 19:51 [PATCH 00/30] tracing: 'hist' triggers Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 01/30] tracing: Update cond flag when enabling or disabling a trigger Tom Zanussi
2015-11-23 21:29 ` Steven Rostedt
2015-11-25 1:27 ` Namhyung Kim
2015-11-23 19:51 ` [PATCH v12 02/30] tracing: Make ftrace_event_field checking functions available Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 03/30] tracing: Make event trigger " Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 04/30] tracing: Add event record param to trigger_ops.func() Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 05/30] tracing: Add get_syscall_name() Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 06/30] tracing: Add a per-event-trigger 'paused' field Tom Zanussi
2015-11-23 19:51 ` Tom Zanussi [this message]
2015-11-23 19:51 ` [PATCH v12 08/30] tracing: Add an unreg_all() callback to trigger commands Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 09/30] tracing: Add lock-free tracing_map Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 10/30] tracing: Add 'hist' event trigger command Tom Zanussi
2015-11-29 14:54 ` Namhyung Kim
2015-11-23 19:51 ` [PATCH v12 11/30] tracing: Add hist trigger support for multiple values ('vals=' param) Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 12/30] tracing: Add hist trigger support for compound keys Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 13/30] tracing: Add hist trigger support for user-defined sorting ('sort=' param) Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 14/30] tracing: Add hist trigger support for pausing and continuing a trace Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 15/30] tracing: Add hist trigger support for clearing " Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 16/30] tracing: Add hist trigger 'hex' modifier for displaying numeric fields Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 17/30] tracing: Add hist trigger 'sym' and 'sym-offset' modifiers Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 18/30] tracing: Add hist trigger 'execname' modifier Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 19/30] tracing: Add hist trigger 'syscall' modifier Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 20/30] tracing: Add hist trigger support for stacktraces as keys Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 21/30] tracing: Support string type key properly Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 22/30] tracing: Remove restriction on string position in hist trigger keys Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 23/30] tracing: Add enable_hist/disable_hist triggers Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 24/30] tracing: Add 'hist' trigger Documentation Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 25/30] tracing: Add support for multiple hist triggers per event Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 26/30] tracing: Add support for named triggers Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 27/30] tracing: Add support for named hist triggers Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 28/30] kselftests/ftrace : Add event trigger testcases Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 29/30] kselftests/ftrace: Add hist " Tom Zanussi
2015-11-23 19:51 ` [PATCH v12 30/30] tracing: Add hist trigger 'log2' modifier Tom Zanussi
2015-11-29 15:22 ` [PATCH 00/30] tracing: 'hist' triggers Namhyung Kim
2015-12-10 18:54 ` Tom Zanussi
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=b26a316173e85b7ac6d2c2c27ea766fa416dda17.1448303214.git.tom.zanussi@linux.intel.com \
--to=tom.zanussi@linux.intel.com \
--cc=andi@firstfloor.org \
--cc=daniel.wagner@bmw-carit.de \
--cc=josh@joshtriplett.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mathieu.desnoyers@efficios.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®