summaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.h
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2012-08-08 20:48:20 +0200
committerSteven Rostedt <rostedt@goodmis.org>2013-03-15 05:34:44 +0100
commit12ab74ee00d154bc05ea2fc659b7ce6519e5d5a6 (patch)
treed123285199790583ca792a1c80cb75ba440425b9 /kernel/trace/trace.h
parenttracing: Replace the static global per_cpu arrays with allocated per_cpu (diff)
downloadlinux-12ab74ee00d154bc05ea2fc659b7ce6519e5d5a6.tar.xz
linux-12ab74ee00d154bc05ea2fc659b7ce6519e5d5a6.zip
tracing: Make syscall events suitable for multiple buffers
Currently the syscall events record into the global buffer. But if multiple buffers are in place, then we need to have syscall events record in the proper buffers. By adding descriptors to pass to the syscall event functions, the syscall events can now record into the buffers that have been assigned to them (one event may be applied to mulitple buffers). This will allow tracing high volume syscalls along with seldom occurring syscalls without losing the seldom syscall events. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace.h')
-rw-r--r--kernel/trace/trace.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index 15ccd7cd1560..68cad7a9e089 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -13,6 +13,11 @@
#include <linux/trace_seq.h>
#include <linux/ftrace_event.h>
+#ifdef CONFIG_FTRACE_SYSCALLS
+#include <asm/unistd.h> /* For NR_SYSCALLS */
+#include <asm/syscall.h> /* some archs define it here */
+#endif
+
enum trace_type {
__TRACE_FIRST_TYPE = 0,
@@ -173,6 +178,12 @@ struct trace_array {
int cpu;
int buffer_disabled;
struct trace_cpu trace_cpu; /* place holder */
+#ifdef CONFIG_FTRACE_SYSCALLS
+ int sys_refcount_enter;
+ int sys_refcount_exit;
+ DECLARE_BITMAP(enabled_enter_syscalls, NR_syscalls);
+ DECLARE_BITMAP(enabled_exit_syscalls, NR_syscalls);
+#endif
int stop_count;
int clock_id;
struct tracer *current_trace;