[PATCH 0/3] tracing/filters: Support specifying filter hook to aTRACE_EVENT field

From: Li Zefan
Date: Thu Aug 06 2009 - 02:07:38 EST


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 | 28 ++++++++++++++++----
kernel/trace/trace.h | 2 +
kernel/trace/trace_events.c | 9 ++++++-
kernel/trace/trace_events_filter.c | 47 +++++++++++++++++++++++++----------
kernel/trace/trace_export.c | 7 +++--
6 files changed, 79 insertions(+), 26 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/