linux/kernel/trace
Steven Rostedt 3fd40d1ee6 tracing: Use helper functions in event assignment to shrink macro size
The functions that assign the contents for the ftrace events are
defined by the TRACE_EVENT() macros. Each event has its own unique
way to assign data to its buffer. When you have over 500 events,
that means there's 500 functions assigning data uniquely for each
event (not really that many, as DECLARE_EVENT_CLASS() and multiple
DEFINE_EVENT()s will only need a single function).

By making helper functions in the core kernel to do some of 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
12987390        1913504 9785344 24686238        178ae9e /tmp/vmlinux
12959102        1913504 9785344 24657950        178401e /tmp/vmlinux.patched

That's a total of 28288 bytes, which comes down to 56 bytes per event.

Link: http://lkml.kernel.org/r/20120810034708.370808175@goodmis.org

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2014-03-07 10:06:07 -05:00
..
blktrace.c tracing: Pass trace_array to set_flag callback 2014-02-20 12:13:07 -05:00
ftrace.c ftrace: Have static function trace clear ENABLED flag on unregister 2014-02-20 12:32:55 -05:00
Kconfig ring-buffer: Select IRQ_WORK 2013-05-03 19:24:17 -04:00
Makefile tracing: Add basic event trigger framework 2013-12-20 18:40:22 -05:00
power-traces.c PM / tracing: remove deprecated power trace API 2013-01-26 00:39:12 +01:00
ring_buffer_benchmark.c tracing: Use NUMA allocation for per-cpu ring buffer pages 2011-06-14 22:04:39 -04:00
ring_buffer.c ring-buffer: Fix first commit on sub-buffer having non-zero delta 2014-02-11 13:38:54 -05:00
rpm-traces.c PM / Runtime: Introduce trace points for tracing rpm_* functions 2011-09-27 22:53:27 +02:00
trace_branch.c tracing: Update event filters for multibuffer 2013-11-05 16:50:20 -05:00
trace_clock.c tracing: Add "uptime" trace clock that uses jiffies 2013-03-15 00:36:09 -04:00
trace_entries.h tracing: Add trace_puts() for even faster trace_printk() tracing 2013-03-15 00:35:55 -04:00
trace_event_perf.c perf/trace: Properly use u64 to hold event_id 2013-11-19 16:57:44 +01:00
trace_events_filter_test.h tracing/filter: Add startup tests for events filter 2011-08-19 14:35:59 -04:00
trace_events_filter.c tracing: Add and use generic set_trigger_filter() implementation 2013-12-21 22:02:17 -05:00
trace_events_trigger.c tracing: Show available event triggers when no trigger is set 2014-01-09 21:20:32 -05:00
trace_events.c tracing: Use helper functions in event assignment to shrink macro size 2014-03-07 10:06:07 -05:00
trace_export.c tracing: Move event storage for array from macro to standalone function 2014-03-07 10:06:06 -05:00
trace_functions_graph.c tracing: Pass trace_array to set_flag callback 2014-02-20 12:13:07 -05:00
trace_functions.c ftrace: Allow for function tracing instance to filter functions 2014-02-20 12:29:07 -05:00
trace_irqsoff.c tracing: Pass trace_array to flag_changed callback 2014-02-20 12:13:08 -05:00
trace_kdb.c tracing: Consolidate max_tr into main trace_array structure 2013-03-15 00:35:40 -04:00
trace_kprobe.c tracing/uprobes: Support ftrace_event_file base multibuffer 2014-02-20 12:30:09 -05:00
trace_mmiotrace.c tracing: Update event filters for multibuffer 2013-11-05 16:50:20 -05:00
trace_nop.c tracing: Set up infrastructure to allow tracers for instances 2014-02-20 12:13:10 -05:00
trace_output.c tracing: Move event storage for array from macro to standalone function 2014-03-07 10:06:06 -05:00
trace_output.h tracing: Rename trace_event_mutex to trace_event_sem 2013-03-15 13:22:10 -04:00
trace_printk.c tracing: Add __tracepoint_string() to export string pointers 2013-07-26 13:39:44 -04:00
trace_probe.c tracing/uprobes: Add @+file_offset fetch method 2014-01-02 20:57:05 -05:00
trace_probe.h tracing/uprobes: Support ftrace_event_file base multibuffer 2014-02-20 12:30:09 -05:00
trace_sched_switch.c tracing: Update event filters for multibuffer 2013-11-05 16:50:20 -05:00
trace_sched_wakeup.c tracing: Pass trace_array to flag_changed callback 2014-02-20 12:13:08 -05:00
trace_selftest_dynamic.c
trace_selftest.c sched/deadline: Add latency tracing for SCHED_DEADLINE tasks 2014-01-13 13:41:11 +01:00
trace_stack.c tracing: Add generic tracing_lseek() function 2014-01-02 16:17:12 -05:00
trace_stat.c trace/trace_stat: use rbtree postorder iteration helper instead of opencoding 2013-11-05 16:01:47 -05:00
trace_stat.h
trace_syscalls.c tracing: Consolidate event trigger code 2014-01-09 21:20:07 -05:00
trace_uprobe.c tracing/uprobes: Support mix of ftrace and perf 2014-02-20 12:30:11 -05:00
trace.c tracing: Add trace_clock=<clock> kernel parameter 2014-02-20 12:32:54 -05:00
trace.h ftrace: Allow for function tracing instance to filter functions 2014-02-20 12:29:07 -05:00