aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace
diff options
context:
space:
mode:
authorLi Zefan <lizefan@huawei.com>2013-02-20 21:32:38 -0500
committerSteven Rostedt <rostedt@goodmis.org>2013-03-15 00:34:51 -0400
commitf71130de5c7fba92faf3901784714e37a234c08f (patch)
tree3632ac6de403c726b2ea8bb890f573c9fd6c54bc /kernel/trace
parent15693458c4bc0693fd63a50d60f35b628fcf4e29 (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.c26
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}
398EXPORT_SYMBOL(ftrace_print_hex_seq); 398EXPORT_SYMBOL(ftrace_print_hex_seq);
399 399
400int 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}
424EXPORT_SYMBOL(ftrace_raw_output_prep);
425
400#ifdef CONFIG_KRETPROBES 426#ifdef CONFIG_KRETPROBES
401static inline const char *kretprobed(const char *name) 427static inline const char *kretprobed(const char *name)
402{ 428{