tracing: Move raw output code from macro to standalone function
authorSteven Rostedt <srostedt@redhat.com>
Thu, 9 Aug 2012 23:16:14 +0000 (19:16 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 7 Mar 2014 15:06:05 +0000 (10:06 -0500)
commit1d6bae966e90134bcfd7807b8f9488d55198de91
tree201e59fd77c7569931197f78d7b75483ec88ffb5
parent92550405c493a3c2fa14bf37d1d60cd6c7d0f585
tracing: Move raw output code from macro to standalone function

The code for trace events to format the raw recorded event data
into human readable format in the 'trace' file is repeated for every
event in the system. When you have over 500 events, this can add up
quite a bit.

By making helper functions in the core kernel to do the work
instead, we can shrink the size of the kernel down a bit.

With a kernel configured with 502 events, the change in size was:

   text    data     bss     dec     hex filename
12991007        1913568 9785344 24689919        178bcff /tmp/vmlinux.orig
12990946        1913568 9785344 24689858        178bcc2 /tmp/vmlinux.patched

Note, this version does not save as much as the version of this patch
I had a few years ago. That is because in the mean time, commit
f71130de5c7f ("tracing: Add a helper function for event print functions")
did a lot of the work my original patch did. But this change helps
slightly, and is part of a larger clean up to reduce the size much further.

Link: http://lkml.kernel.org/r/20120810034707.378538034@goodmis.org
Cc: Li Zefan <lizefan@huawei.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/ftrace_event.h
include/trace/ftrace.h
kernel/trace/trace_output.c