aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_syscalls.c
diff options
context:
space:
mode:
authorLi Zefan <lizf@cn.fujitsu.com>2009-12-07 22:14:52 -0500
committerFrederic Weisbecker <fweisbec@gmail.com>2009-12-13 12:37:25 -0500
commit3b8e4273814a7f9e9a74ece517d9206fea919aaa (patch)
treeaa7960d90fe8cd4b04537bf9ea84ac73cb3b69ad /kernel/trace/trace_syscalls.c
parent614a71a26ba3d97e9fa85649db69a682b78e407d (diff)
tracing: Move a printk out of ftrace_raw_reg_event_foo()
Move the printk from each ftrace_raw_reg_event_foo() to its caller ftrace_event_enable_disable(). This avoids each regfunc trace event callbacks to handle a same error report that can be carried from the caller. See how much space this saves: text data bss dec hex filename 5345151 1961864 7103260 14410275 dbe223 vmlinux.o.old 5331487 1961864 7103260 14396611 dbacc3 vmlinux.o Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> Cc: Jason Baron <jbaron@redhat.com> LKML-Reference: <4B1DC4AC.802@cn.fujitsu.com> [start cmdline record before calling regfunc to avoid lost window of pid to comm resolution] Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'kernel/trace/trace_syscalls.c')
-rw-r--r--kernel/trace/trace_syscalls.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c
index b957edd0ca3b..75289f372dd2 100644
--- a/kernel/trace/trace_syscalls.c
+++ b/kernel/trace/trace_syscalls.c
@@ -325,10 +325,7 @@ int reg_event_syscall_enter(struct ftrace_event_call *call)
325 mutex_lock(&syscall_trace_lock); 325 mutex_lock(&syscall_trace_lock);
326 if (!sys_refcount_enter) 326 if (!sys_refcount_enter)
327 ret = register_trace_sys_enter(ftrace_syscall_enter); 327 ret = register_trace_sys_enter(ftrace_syscall_enter);
328 if (ret) { 328 if (!ret) {
329 pr_info("event trace: Could not activate"
330 "syscall entry trace point");
331 } else {
332 set_bit(num, enabled_enter_syscalls); 329 set_bit(num, enabled_enter_syscalls);
333 sys_refcount_enter++; 330 sys_refcount_enter++;
334 } 331 }
@@ -362,10 +359,7 @@ int reg_event_syscall_exit(struct ftrace_event_call *call)
362 mutex_lock(&syscall_trace_lock); 359 mutex_lock(&syscall_trace_lock);
363 if (!sys_refcount_exit) 360 if (!sys_refcount_exit)
364 ret = register_trace_sys_exit(ftrace_syscall_exit); 361 ret = register_trace_sys_exit(ftrace_syscall_exit);
365 if (ret) { 362 if (!ret) {
366 pr_info("event trace: Could not activate"
367 "syscall exit trace point");
368 } else {
369 set_bit(num, enabled_exit_syscalls); 363 set_bit(num, enabled_exit_syscalls);
370 sys_refcount_exit++; 364 sys_refcount_exit++;
371 } 365 }