diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2009-12-01 03:23:55 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-12-01 11:33:30 -0500 |
commit | a1301da0997bf73c44dbe584e9070a13adc89672 (patch) | |
tree | 64c7e580f553291bcaaf065fc0dbceee8daf9cd6 /include | |
parent | c252f65793874b56d50395ab604db465ce688665 (diff) |
trace_syscalls: Remove duplicate init_enter_##sname()
use only one init_syscall_trace instead of
many init_enter_##sname()/init_exit_##sname()
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: Jason Baron <jbaron@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <4B14D29B.6090708@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/syscalls.h | 30 | ||||
-rw-r--r-- | include/trace/syscall.h | 1 |
2 files changed, 3 insertions, 28 deletions
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 3c280d7ecb76..cf0d923ea40e 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -158,19 +158,6 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *unused) \ | |||
158 | struct trace_event enter_syscall_print_##sname = { \ | 158 | struct trace_event enter_syscall_print_##sname = { \ |
159 | .trace = print_syscall_enter, \ | 159 | .trace = print_syscall_enter, \ |
160 | }; \ | 160 | }; \ |
161 | static int init_enter_##sname(struct ftrace_event_call *call) \ | ||
162 | { \ | ||
163 | int num, id; \ | ||
164 | num = __syscall_meta_##sname.syscall_nr; \ | ||
165 | if (num < 0) \ | ||
166 | return -ENOSYS; \ | ||
167 | id = register_ftrace_event(&enter_syscall_print_##sname);\ | ||
168 | if (!id) \ | ||
169 | return -ENODEV; \ | ||
170 | event_enter_##sname.id = id; \ | ||
171 | INIT_LIST_HEAD(&event_enter_##sname.fields); \ | ||
172 | return 0; \ | ||
173 | } \ | ||
174 | TRACE_SYS_ENTER_PROFILE(sname); \ | 161 | TRACE_SYS_ENTER_PROFILE(sname); \ |
175 | static struct ftrace_event_call __used \ | 162 | static struct ftrace_event_call __used \ |
176 | __attribute__((__aligned__(4))) \ | 163 | __attribute__((__aligned__(4))) \ |
@@ -179,7 +166,7 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *unused) \ | |||
179 | .name = "sys_enter"#sname, \ | 166 | .name = "sys_enter"#sname, \ |
180 | .system = "syscalls", \ | 167 | .system = "syscalls", \ |
181 | .event = &enter_syscall_print_##sname, \ | 168 | .event = &enter_syscall_print_##sname, \ |
182 | .raw_init = init_enter_##sname, \ | 169 | .raw_init = init_syscall_trace, \ |
183 | .show_format = syscall_enter_format, \ | 170 | .show_format = syscall_enter_format, \ |
184 | .define_fields = syscall_enter_define_fields, \ | 171 | .define_fields = syscall_enter_define_fields, \ |
185 | .regfunc = reg_event_syscall_enter, \ | 172 | .regfunc = reg_event_syscall_enter, \ |
@@ -194,19 +181,6 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *unused) \ | |||
194 | struct trace_event exit_syscall_print_##sname = { \ | 181 | struct trace_event exit_syscall_print_##sname = { \ |
195 | .trace = print_syscall_exit, \ | 182 | .trace = print_syscall_exit, \ |
196 | }; \ | 183 | }; \ |
197 | static int init_exit_##sname(struct ftrace_event_call *call) \ | ||
198 | { \ | ||
199 | int num, id; \ | ||
200 | num = __syscall_meta_##sname.syscall_nr; \ | ||
201 | if (num < 0) \ | ||
202 | return -ENOSYS; \ | ||
203 | id = register_ftrace_event(&exit_syscall_print_##sname);\ | ||
204 | if (!id) \ | ||
205 | return -ENODEV; \ | ||
206 | event_exit_##sname.id = id; \ | ||
207 | INIT_LIST_HEAD(&event_exit_##sname.fields); \ | ||
208 | return 0; \ | ||
209 | } \ | ||
210 | TRACE_SYS_EXIT_PROFILE(sname); \ | 184 | TRACE_SYS_EXIT_PROFILE(sname); \ |
211 | static struct ftrace_event_call __used \ | 185 | static struct ftrace_event_call __used \ |
212 | __attribute__((__aligned__(4))) \ | 186 | __attribute__((__aligned__(4))) \ |
@@ -215,7 +189,7 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *unused) \ | |||
215 | .name = "sys_exit"#sname, \ | 189 | .name = "sys_exit"#sname, \ |
216 | .system = "syscalls", \ | 190 | .system = "syscalls", \ |
217 | .event = &exit_syscall_print_##sname, \ | 191 | .event = &exit_syscall_print_##sname, \ |
218 | .raw_init = init_exit_##sname, \ | 192 | .raw_init = init_syscall_trace, \ |
219 | .show_format = syscall_exit_format, \ | 193 | .show_format = syscall_exit_format, \ |
220 | .define_fields = syscall_exit_define_fields, \ | 194 | .define_fields = syscall_exit_define_fields, \ |
221 | .regfunc = reg_event_syscall_exit, \ | 195 | .regfunc = reg_event_syscall_exit, \ |
diff --git a/include/trace/syscall.h b/include/trace/syscall.h index 1531eef3071f..dff9371e5274 100644 --- a/include/trace/syscall.h +++ b/include/trace/syscall.h | |||
@@ -32,6 +32,7 @@ struct syscall_metadata { | |||
32 | 32 | ||
33 | #ifdef CONFIG_FTRACE_SYSCALLS | 33 | #ifdef CONFIG_FTRACE_SYSCALLS |
34 | extern unsigned long arch_syscall_addr(int nr); | 34 | extern unsigned long arch_syscall_addr(int nr); |
35 | extern int init_syscall_trace(struct ftrace_event_call *call); | ||
35 | 36 | ||
36 | extern int syscall_enter_format(struct ftrace_event_call *call, | 37 | extern int syscall_enter_format(struct ftrace_event_call *call, |
37 | struct trace_seq *s); | 38 | struct trace_seq *s); |