diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-09-12 23:34:04 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-09-12 23:34:04 -0400 |
commit | 60ba77022712c7cda0eda286154bae160446b24a (patch) | |
tree | 3cd975b44ac716e079fdfcb1d4b9cd3efc815500 /kernel/trace/trace_mmiotrace.c | |
parent | 51df5fcbc1296a84cf1c093c6cb56d40ca3e697e (diff) |
tracing: add filter event logic to special, mmiotrace and boot tracers
Now that the pluging tracers use macros to create the structures and
automate the exporting of their formats to the format files, they also
automatically get a filter file.
This patch adds the code to implement the filter logic in the trace
recordings.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace_mmiotrace.c')
-rw-r--r-- | kernel/trace/trace_mmiotrace.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/trace/trace_mmiotrace.c b/kernel/trace/trace_mmiotrace.c index c4c9bbda53d3..0acd834659ed 100644 --- a/kernel/trace/trace_mmiotrace.c +++ b/kernel/trace/trace_mmiotrace.c | |||
@@ -307,6 +307,7 @@ static void __trace_mmiotrace_rw(struct trace_array *tr, | |||
307 | struct trace_array_cpu *data, | 307 | struct trace_array_cpu *data, |
308 | struct mmiotrace_rw *rw) | 308 | struct mmiotrace_rw *rw) |
309 | { | 309 | { |
310 | struct ftrace_event_call *call = &event_mmiotrace_rw; | ||
310 | struct ring_buffer *buffer = tr->buffer; | 311 | struct ring_buffer *buffer = tr->buffer; |
311 | struct ring_buffer_event *event; | 312 | struct ring_buffer_event *event; |
312 | struct trace_mmiotrace_rw *entry; | 313 | struct trace_mmiotrace_rw *entry; |
@@ -320,7 +321,9 @@ static void __trace_mmiotrace_rw(struct trace_array *tr, | |||
320 | } | 321 | } |
321 | entry = ring_buffer_event_data(event); | 322 | entry = ring_buffer_event_data(event); |
322 | entry->rw = *rw; | 323 | entry->rw = *rw; |
323 | trace_buffer_unlock_commit(buffer, event, 0, pc); | 324 | |
325 | if (!filter_check_discard(call, entry, buffer, event)) | ||
326 | trace_buffer_unlock_commit(buffer, event, 0, pc); | ||
324 | } | 327 | } |
325 | 328 | ||
326 | void mmio_trace_rw(struct mmiotrace_rw *rw) | 329 | void mmio_trace_rw(struct mmiotrace_rw *rw) |
@@ -334,6 +337,7 @@ static void __trace_mmiotrace_map(struct trace_array *tr, | |||
334 | struct trace_array_cpu *data, | 337 | struct trace_array_cpu *data, |
335 | struct mmiotrace_map *map) | 338 | struct mmiotrace_map *map) |
336 | { | 339 | { |
340 | struct ftrace_event_call *call = &event_mmiotrace_map; | ||
337 | struct ring_buffer *buffer = tr->buffer; | 341 | struct ring_buffer *buffer = tr->buffer; |
338 | struct ring_buffer_event *event; | 342 | struct ring_buffer_event *event; |
339 | struct trace_mmiotrace_map *entry; | 343 | struct trace_mmiotrace_map *entry; |
@@ -347,7 +351,9 @@ static void __trace_mmiotrace_map(struct trace_array *tr, | |||
347 | } | 351 | } |
348 | entry = ring_buffer_event_data(event); | 352 | entry = ring_buffer_event_data(event); |
349 | entry->map = *map; | 353 | entry->map = *map; |
350 | trace_buffer_unlock_commit(buffer, event, 0, pc); | 354 | |
355 | if (!filter_check_discard(call, entry, buffer, event)) | ||
356 | trace_buffer_unlock_commit(buffer, event, 0, pc); | ||
351 | } | 357 | } |
352 | 358 | ||
353 | void mmio_trace_mapping(struct mmiotrace_map *map) | 359 | void mmio_trace_mapping(struct mmiotrace_map *map) |