tracing: Move event storage for array from macro to standalone function
authorSteven Rostedt <srostedt@redhat.com>
Fri, 10 Aug 2012 02:26:46 +0000 (22:26 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 7 Mar 2014 15:06:06 +0000 (10:06 -0500)
commit35bb4399bd0ef16b8a57fccea0047d98b6b0e7fb
tree16b340bd7b6d1e17e9d78d7d3ea88141cf2e3905
parent1d6bae966e90134bcfd7807b8f9488d55198de91
tracing: Move event storage for array from macro to standalone function

The code that shows array fields for events is defined for all events.
This can add up quite a bit when you have over 500 events.

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
12990946        1913568 9785344 24689858        178bcc2 /tmp/vmlinux
12987390        1913504 9785344 24686238        178ae9e /tmp/vmlinux.patched

That's a total of 3556 bytes, which comes down to 7 bytes per event.
Although it's not much, this code is just called at initialization of
the events.

Link: http://lkml.kernel.org/r/20120810034708.084036335@goodmis.org
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/ftrace_event.h
include/trace/ftrace.h
kernel/trace/trace_events.c
kernel/trace/trace_export.c
kernel/trace/trace_output.c