diff options
author | Li Zefan <lizefan@huawei.com> | 2013-02-20 21:32:38 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2013-03-15 00:34:51 -0400 |
commit | f71130de5c7fba92faf3901784714e37a234c08f (patch) | |
tree | 3632ac6de403c726b2ea8bb890f573c9fd6c54bc /kernel/trace | |
parent | 15693458c4bc0693fd63a50d60f35b628fcf4e29 (diff) |
tracing: Add a helper function for event print functions
Move duplicate code in event print functions to a helper function.
This shrinks the size of the kernel by ~13K.
text data bss dec hex filename
6596137 1743966 10138672 18478775 119f6b7 vmlinux.o.old
6583002 1743849 10138672 18465523 119c2f3 vmlinux.o.new
Link: http://lkml.kernel.org/r/51258746.2060304@huawei.com
Signed-off-by: Li Zefan <lizefan@huawei.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace')
-rw-r--r-- | kernel/trace/trace_output.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c index 194d79602dc7..aa92ac322ba2 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c | |||
@@ -397,6 +397,32 @@ ftrace_print_hex_seq(struct trace_seq *p, const unsigned char *buf, int buf_len) | |||
397 | } | 397 | } |
398 | EXPORT_SYMBOL(ftrace_print_hex_seq); | 398 | EXPORT_SYMBOL(ftrace_print_hex_seq); |
399 | 399 | ||
400 | int ftrace_raw_output_prep(struct trace_iterator *iter, | ||
401 | struct trace_event *trace_event) | ||
402 | { | ||
403 | struct ftrace_event_call *event; | ||
404 | struct trace_seq *s = &iter->seq; | ||
405 | struct trace_seq *p = &iter->tmp_seq; | ||
406 | struct trace_entry *entry; | ||
407 | int ret; | ||
408 | |||
409 | event = container_of(trace_event, struct ftrace_event_call, event); | ||
410 | entry = iter->ent; | ||
411 | |||
412 | if (entry->type != event->event.type) { | ||
413 | WARN_ON_ONCE(1); | ||
414 | return TRACE_TYPE_UNHANDLED; | ||
415 | } | ||
416 | |||
417 | trace_seq_init(p); | ||
418 | ret = trace_seq_printf(s, "%s: ", event->name); | ||
419 | if (!ret) | ||
420 | return TRACE_TYPE_PARTIAL_LINE; | ||
421 | |||
422 | return 0; | ||
423 | } | ||
424 | EXPORT_SYMBOL(ftrace_raw_output_prep); | ||
425 | |||
400 | #ifdef CONFIG_KRETPROBES | 426 | #ifdef CONFIG_KRETPROBES |
401 | static inline const char *kretprobed(const char *name) | 427 | static inline const char *kretprobed(const char *name) |
402 | { | 428 | { |