aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/syscalls.h
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2009-12-01 03:24:01 -0500
committerIngo Molnar <mingo@elte.hu>2009-12-01 11:33:30 -0500
commit3bbe84e9d385205d638035ee9dcc4db1b486ea08 (patch)
treee7261e9a3ca13f6e2fd34333e4ccab33b265c32e /include/linux/syscalls.h
parenta1301da0997bf73c44dbe584e9070a13adc89672 (diff)
trace_syscalls: Simplify syscall profile
use only one prof_sysenter_enable() instead of prof_sysenter_enable_##sname() use only one prof_sysenter_disable() instead of prof_sysenter_disable_##sname() use only one prof_sysexit_enable() instead of prof_sysexit_enable_##sname() use only one prof_sysexit_disable() instead of prof_sysexit_disable_##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: <4B14D2A1.8060304@cn.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/syscalls.h')
-rw-r--r--include/linux/syscalls.h31
1 files changed, 4 insertions, 27 deletions
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index cf0d923ea40e..c2df3a593236 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -99,37 +99,16 @@ struct perf_event_attr;
99#define __SC_TEST6(t6, a6, ...) __SC_TEST(t6); __SC_TEST5(__VA_ARGS__) 99#define __SC_TEST6(t6, a6, ...) __SC_TEST(t6); __SC_TEST5(__VA_ARGS__)
100 100
101#ifdef CONFIG_EVENT_PROFILE 101#ifdef CONFIG_EVENT_PROFILE
102#define TRACE_SYS_ENTER_PROFILE(sname) \
103static int prof_sysenter_enable_##sname(struct ftrace_event_call *unused) \
104{ \
105 return reg_prof_syscall_enter("sys"#sname); \
106} \
107 \
108static void prof_sysenter_disable_##sname(struct ftrace_event_call *unused) \
109{ \
110 unreg_prof_syscall_enter("sys"#sname); \
111}
112
113#define TRACE_SYS_EXIT_PROFILE(sname) \
114static int prof_sysexit_enable_##sname(struct ftrace_event_call *unused) \
115{ \
116 return reg_prof_syscall_exit("sys"#sname); \
117} \
118 \
119static void prof_sysexit_disable_##sname(struct ftrace_event_call *unused) \
120{ \
121 unreg_prof_syscall_exit("sys"#sname); \
122}
123 102
124#define TRACE_SYS_ENTER_PROFILE_INIT(sname) \ 103#define TRACE_SYS_ENTER_PROFILE_INIT(sname) \
125 .profile_count = ATOMIC_INIT(-1), \ 104 .profile_count = ATOMIC_INIT(-1), \
126 .profile_enable = prof_sysenter_enable_##sname, \ 105 .profile_enable = prof_sysenter_enable, \
127 .profile_disable = prof_sysenter_disable_##sname, 106 .profile_disable = prof_sysenter_disable,
128 107
129#define TRACE_SYS_EXIT_PROFILE_INIT(sname) \ 108#define TRACE_SYS_EXIT_PROFILE_INIT(sname) \
130 .profile_count = ATOMIC_INIT(-1), \ 109 .profile_count = ATOMIC_INIT(-1), \
131 .profile_enable = prof_sysexit_enable_##sname, \ 110 .profile_enable = prof_sysexit_enable, \
132 .profile_disable = prof_sysexit_disable_##sname, 111 .profile_disable = prof_sysexit_disable,
133#else 112#else
134#define TRACE_SYS_ENTER_PROFILE(sname) 113#define TRACE_SYS_ENTER_PROFILE(sname)
135#define TRACE_SYS_ENTER_PROFILE_INIT(sname) 114#define TRACE_SYS_ENTER_PROFILE_INIT(sname)
@@ -158,7 +137,6 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *unused) \
158 struct trace_event enter_syscall_print_##sname = { \ 137 struct trace_event enter_syscall_print_##sname = { \
159 .trace = print_syscall_enter, \ 138 .trace = print_syscall_enter, \
160 }; \ 139 }; \
161 TRACE_SYS_ENTER_PROFILE(sname); \
162 static struct ftrace_event_call __used \ 140 static struct ftrace_event_call __used \
163 __attribute__((__aligned__(4))) \ 141 __attribute__((__aligned__(4))) \
164 __attribute__((section("_ftrace_events"))) \ 142 __attribute__((section("_ftrace_events"))) \
@@ -181,7 +159,6 @@ static void prof_sysexit_disable_##sname(struct ftrace_event_call *unused) \
181 struct trace_event exit_syscall_print_##sname = { \ 159 struct trace_event exit_syscall_print_##sname = { \
182 .trace = print_syscall_exit, \ 160 .trace = print_syscall_exit, \
183 }; \ 161 }; \
184 TRACE_SYS_EXIT_PROFILE(sname); \
185 static struct ftrace_event_call __used \ 162 static struct ftrace_event_call __used \
186 __attribute__((__aligned__(4))) \ 163 __attribute__((__aligned__(4))) \
187 __attribute__((section("_ftrace_events"))) \ 164 __attribute__((section("_ftrace_events"))) \