tracing: Allow events to share their print functions
authorSteven Rostedt <srostedt@redhat.com>
Thu, 22 Apr 2010 22:46:14 +0000 (18:46 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 14 May 2010 18:20:32 +0000 (14:20 -0400)
commita9a5776380208a3e48a92d0c763ee1a3b486fb73
tree5ecd41c3b373e2156f5bf748ae777e022296a30c
parent0405ab80aa94afb13bf9ac4a6fc9f2923d4b9114
tracing: Allow events to share their print functions

Multiple events may use the same method to print their data.
Instead of having all events have a pointer to their print funtions,
the trace_event structure now points to a trace_event_functions structure
that will hold the way to print ouf the event.

The event itself is now passed to the print function to let the print
function know what kind of event it should print.

This opens the door to consolidating the way several events print
their output.

   text    data     bss     dec     hex filename
4913961 1088356  861512 6863829  68bbd5 vmlinux.orig
4900382 1048964  861512 6810858  67ecea vmlinux.init
4900446 1049028  861512 6810986  67ed6a vmlinux.preprint

This change slightly increases the size but is needed for the next change.

v3: Fix the branch tracer events to handle this change.

v2: Fix the new function graph tracer event calls to handle this change.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Acked-by: Masami Hiramatsu <mhiramat@redhat.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
13 files changed:
include/linux/ftrace_event.h
include/linux/syscalls.h
include/trace/ftrace.h
include/trace/syscall.h
kernel/trace/blktrace.c
kernel/trace/kmemtrace.c
kernel/trace/trace.c
kernel/trace/trace_branch.c
kernel/trace/trace_functions_graph.c
kernel/trace/trace_kprobe.c
kernel/trace/trace_output.c
kernel/trace/trace_output.h
kernel/trace/trace_syscalls.c