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
Makefile
tracing: Add basic event trigger framework
2013-12-20 18:40:22 -05:00
power-traces.c
ring_buffer.c
ring-buffer: Fix first commit on sub-buffer having non-zero delta
2014-02-11 13:38:54 -05:00
ring_buffer_benchmark.c
rpm-traces.c
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
trace_branch.c
trace_clock.c
trace_entries.h
trace_event_perf.c
perf/trace: Properly use u64 to hold event_id
2013-11-19 16:57:44 +01:00
trace_events.c
tracing: Use helper functions in event assignment to shrink macro size
2014-03-07 10:06:07 -05:00
trace_events_filter.c
tracing: Add and use generic set_trigger_filter() implementation
2013-12-21 22:02:17 -05:00
trace_events_filter_test.h
trace_events_trigger.c
tracing: Show available event triggers when no trigger is set
2014-01-09 21:20:32 -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.c
ftrace: Allow for function tracing instance to filter functions
2014-02-20 12:29:07 -05:00
trace_functions_graph.c
tracing: Pass trace_array to set_flag callback
2014-02-20 12:13: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
trace_kprobe.c
tracing/uprobes: Support ftrace_event_file base multibuffer
2014-02-20 12:30:09 -05:00
trace_mmiotrace.c
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
trace_printk.c
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
trace_sched_wakeup.c
tracing: Pass trace_array to flag_changed callback
2014-02-20 12:13:08 -05:00
trace_selftest.c
sched/deadline: Add latency tracing for SCHED_DEADLINE tasks
2014-01-13 13:41:11 +01:00
trace_selftest_dynamic.c
trace_stack.c
tracing: Add generic tracing_lseek() function
2014-01-02 16:17:12 -05:00
trace_stat.c
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