| From: |
| Li Zefan <lizf@cn.fujitsu.com> |
| To: |
| Steven Rostedt <rostedt@goodmis.org>,
Frederic Weisbecker <fweisbec@gmail.com> |
| Subject: |
| [PATCH v2 0/3] tracing/filters: Support specifying filter hook to
a TRACE_EVENT field |
| Date: |
| Fri, 07 Aug 2009 10:32:34 +0800 |
| Message-ID: |
| <4A7B9242.7010204@cn.fujitsu.com> |
| Cc: |
| Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>,
Tom Zanussi <tzanussi@gmail.com> |
| Archive‑link: | |
Article |
v2: no big changes, but addressed Steven's comments
Currently only static strings and dynamic strings have their
own filter functions, other types of field are treated as
integers.
This patchset allows assigning a specific filter type to a
field, so a field which is defined as:
__field_ext(const char *, str, FILTER_PTR_STR)
will be treated as a string but not a plain pointer, and then
we can set the filter like this:
# echo 'str == foo' > filter
And it's easy to add more filter functions for different types
to turn these into valid operations:
(dev is of type dev_t)
# echo 'dev == 8:0' > filter
(callsite is of type void * or unsigned long)
# echo 'callsite == skb_free' > filter
[PATCH 1/3] tracing/filters: Add filter_type to struct ftrace_event_field
[PATCH 2/3] tracing/filters: Add __field_ext() to TRACE_EVENT
[PATCH 3/3] tracing/filters: Support filtering for char * strings
---
include/linux/ftrace_event.h | 12 +++++++-
include/trace/ftrace.h | 31 ++++++++++++++++++-----
kernel/trace/trace.h | 2 +
kernel/trace/trace_events.c | 9 ++++++-
kernel/trace/trace_events_filter.c | 47 +++++++++++++++++++++++++----------
kernel/trace/trace_export.c | 8 ++++--
6 files changed, 82 insertions(+), 27 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/