diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-28 13:17:55 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-28 13:17:55 -0500 |
commit | e0d272429a34ff143bfa04ee8e29dd4eed2964c7 (patch) | |
tree | 5a719135b245811b5d61ed084d7b8c1bc2e87031 /include/linux | |
parent | d25e8dbdab203ed8b4fd0a174bb5259e35ecd87c (diff) | |
parent | 480917427b0b6ff39de55ffc81391055472e6c26 (diff) |
Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits)
ftrace: Add function names to dangling } in function graph tracer
tracing: Simplify memory recycle of trace_define_field
tracing: Remove unnecessary variable in print_graph_return
tracing: Fix typo of info text in trace_kprobe.c
tracing: Fix typo in prof_sysexit_enable()
tracing: Remove CONFIG_TRACE_POWER from kernel config
tracing: Fix ftrace_event_call alignment for use with gcc 4.5
ftrace: Remove memory barriers from NMI code when not needed
tracing/kprobes: Add short documentation for HAVE_REGS_AND_STACK_ACCESS_API
s390: Add pt_regs register and stack access API
tracing/kprobes: Make Kconfig dependencies generic
tracing: Unify arch_syscall_addr() implementations
tracing: Add notrace to TRACE_EVENT implementation functions
ftrace: Allow to remove a single function from function graph filter
tracing: Add correct/incorrect to sort keys for branch annotation output
tracing: Simplify test for function_graph tracing start point
tracing: Drop the tr check from the graph tracing path
tracing: Add stack dump to trace_printk if stacktrace option is set
tracing: Use appropriate perl constructs in recordmcount.pl
tracing: optimize recordmcount.pl for offsets-handling
...
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/ftrace.h | 6 | ||||
-rw-r--r-- | include/linux/ftrace_event.h | 3 | ||||
-rw-r--r-- | include/linux/syscalls.h | 12 |
3 files changed, 13 insertions, 8 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 0b4f97d24d7f..1cbb36f2759c 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h | |||
@@ -511,4 +511,10 @@ static inline void trace_hw_branch_oops(void) {} | |||
511 | 511 | ||
512 | #endif /* CONFIG_HW_BRANCH_TRACER */ | 512 | #endif /* CONFIG_HW_BRANCH_TRACER */ |
513 | 513 | ||
514 | #ifdef CONFIG_FTRACE_SYSCALLS | ||
515 | |||
516 | unsigned long arch_syscall_addr(int nr); | ||
517 | |||
518 | #endif /* CONFIG_FTRACE_SYSCALLS */ | ||
519 | |||
514 | #endif /* _LINUX_FTRACE_H */ | 520 | #endif /* _LINUX_FTRACE_H */ |
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index 2233c98d80df..84a5629adfd8 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h | |||
@@ -121,9 +121,8 @@ struct ftrace_event_call { | |||
121 | int (*regfunc)(struct ftrace_event_call *); | 121 | int (*regfunc)(struct ftrace_event_call *); |
122 | void (*unregfunc)(struct ftrace_event_call *); | 122 | void (*unregfunc)(struct ftrace_event_call *); |
123 | int id; | 123 | int id; |
124 | const char *print_fmt; | ||
124 | int (*raw_init)(struct ftrace_event_call *); | 125 | int (*raw_init)(struct ftrace_event_call *); |
125 | int (*show_format)(struct ftrace_event_call *, | ||
126 | struct trace_seq *); | ||
127 | int (*define_fields)(struct ftrace_event_call *); | 126 | int (*define_fields)(struct ftrace_event_call *); |
128 | struct list_head fields; | 127 | struct list_head fields; |
129 | int filter_active; | 128 | int filter_active; |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 207466a49f3d..91bd7d78a07d 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -132,7 +132,8 @@ struct perf_event_attr; | |||
132 | 132 | ||
133 | #define SYSCALL_TRACE_ENTER_EVENT(sname) \ | 133 | #define SYSCALL_TRACE_ENTER_EVENT(sname) \ |
134 | static const struct syscall_metadata __syscall_meta_##sname; \ | 134 | static const struct syscall_metadata __syscall_meta_##sname; \ |
135 | static struct ftrace_event_call event_enter_##sname; \ | 135 | static struct ftrace_event_call \ |
136 | __attribute__((__aligned__(4))) event_enter_##sname; \ | ||
136 | static struct trace_event enter_syscall_print_##sname = { \ | 137 | static struct trace_event enter_syscall_print_##sname = { \ |
137 | .trace = print_syscall_enter, \ | 138 | .trace = print_syscall_enter, \ |
138 | }; \ | 139 | }; \ |
@@ -143,8 +144,7 @@ struct perf_event_attr; | |||
143 | .name = "sys_enter"#sname, \ | 144 | .name = "sys_enter"#sname, \ |
144 | .system = "syscalls", \ | 145 | .system = "syscalls", \ |
145 | .event = &enter_syscall_print_##sname, \ | 146 | .event = &enter_syscall_print_##sname, \ |
146 | .raw_init = trace_event_raw_init, \ | 147 | .raw_init = init_syscall_trace, \ |
147 | .show_format = syscall_enter_format, \ | ||
148 | .define_fields = syscall_enter_define_fields, \ | 148 | .define_fields = syscall_enter_define_fields, \ |
149 | .regfunc = reg_event_syscall_enter, \ | 149 | .regfunc = reg_event_syscall_enter, \ |
150 | .unregfunc = unreg_event_syscall_enter, \ | 150 | .unregfunc = unreg_event_syscall_enter, \ |
@@ -154,7 +154,8 @@ struct perf_event_attr; | |||
154 | 154 | ||
155 | #define SYSCALL_TRACE_EXIT_EVENT(sname) \ | 155 | #define SYSCALL_TRACE_EXIT_EVENT(sname) \ |
156 | static const struct syscall_metadata __syscall_meta_##sname; \ | 156 | static const struct syscall_metadata __syscall_meta_##sname; \ |
157 | static struct ftrace_event_call event_exit_##sname; \ | 157 | static struct ftrace_event_call \ |
158 | __attribute__((__aligned__(4))) event_exit_##sname; \ | ||
158 | static struct trace_event exit_syscall_print_##sname = { \ | 159 | static struct trace_event exit_syscall_print_##sname = { \ |
159 | .trace = print_syscall_exit, \ | 160 | .trace = print_syscall_exit, \ |
160 | }; \ | 161 | }; \ |
@@ -165,8 +166,7 @@ struct perf_event_attr; | |||
165 | .name = "sys_exit"#sname, \ | 166 | .name = "sys_exit"#sname, \ |
166 | .system = "syscalls", \ | 167 | .system = "syscalls", \ |
167 | .event = &exit_syscall_print_##sname, \ | 168 | .event = &exit_syscall_print_##sname, \ |
168 | .raw_init = trace_event_raw_init, \ | 169 | .raw_init = init_syscall_trace, \ |
169 | .show_format = syscall_exit_format, \ | ||
170 | .define_fields = syscall_exit_define_fields, \ | 170 | .define_fields = syscall_exit_define_fields, \ |
171 | .regfunc = reg_event_syscall_exit, \ | 171 | .regfunc = reg_event_syscall_exit, \ |
172 | .unregfunc = unreg_event_syscall_exit, \ | 172 | .unregfunc = unreg_event_syscall_exit, \ |