浏览代码

Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  tracing: consolidate documents
  blktrace: pass the right pointer to kfree()
  tracing/syscalls: use a dedicated file header
  tracing: append a comma to INIT_FTRACE_GRAPH
Linus Torvalds 16 年之前
父节点
当前提交
c2ea122cd7

+ 0 - 0
Documentation/ftrace.txt → Documentation/trace/ftrace.txt


+ 0 - 0
Documentation/vm/kmemtrace.txt → Documentation/trace/kmemtrace.txt


+ 0 - 0
Documentation/tracers/mmiotrace.txt → Documentation/trace/mmiotrace.txt


+ 0 - 0
Documentation/tracepoints.txt → Documentation/trace/tracepoints.txt


+ 2 - 0
arch/x86/kernel/ftrace.c

@@ -18,6 +18,8 @@
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/list.h>
 #include <linux/list.h>
 
 
+#include <trace/syscall.h>
+
 #include <asm/cacheflush.h>
 #include <asm/cacheflush.h>
 #include <asm/ftrace.h>
 #include <asm/ftrace.h>
 #include <asm/nops.h>
 #include <asm/nops.h>

+ 2 - 1
arch/x86/kernel/ptrace.c

@@ -21,7 +21,6 @@
 #include <linux/audit.h>
 #include <linux/audit.h>
 #include <linux/seccomp.h>
 #include <linux/seccomp.h>
 #include <linux/signal.h>
 #include <linux/signal.h>
-#include <linux/ftrace.h>
 
 
 #include <asm/uaccess.h>
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
 #include <asm/pgtable.h>
@@ -35,6 +34,8 @@
 #include <asm/proto.h>
 #include <asm/proto.h>
 #include <asm/ds.h>
 #include <asm/ds.h>
 
 
+#include <trace/syscall.h>
+
 #include "tls.h"
 #include "tls.h"
 
 
 enum x86_regset {
 enum x86_regset {

+ 1 - 30
include/linux/ftrace.h

@@ -357,7 +357,7 @@ struct ftrace_graph_ret {
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
 
 
 /* for init task */
 /* for init task */
-#define INIT_FTRACE_GRAPH		.ret_stack = NULL
+#define INIT_FTRACE_GRAPH		.ret_stack = NULL,
 
 
 /*
 /*
  * Stack of return addresses for functions
  * Stack of return addresses for functions
@@ -511,33 +511,4 @@ static inline void trace_hw_branch_oops(void) {}
 
 
 #endif /* CONFIG_HW_BRANCH_TRACER */
 #endif /* CONFIG_HW_BRANCH_TRACER */
 
 
-/*
- * A syscall entry in the ftrace syscalls array.
- *
- * @name: name of the syscall
- * @nb_args: number of parameters it takes
- * @types: list of types as strings
- * @args: list of args as strings (args[i] matches types[i])
- */
-struct syscall_metadata {
-	const char	*name;
-	int		nb_args;
-	const char	**types;
-	const char	**args;
-};
-
-#ifdef CONFIG_FTRACE_SYSCALLS
-extern void arch_init_ftrace_syscalls(void);
-extern struct syscall_metadata *syscall_nr_to_meta(int nr);
-extern void start_ftrace_syscalls(void);
-extern void stop_ftrace_syscalls(void);
-extern void ftrace_syscall_enter(struct pt_regs *regs);
-extern void ftrace_syscall_exit(struct pt_regs *regs);
-#else
-static inline void start_ftrace_syscalls(void) { }
-static inline void stop_ftrace_syscalls(void) { }
-static inline void ftrace_syscall_enter(struct pt_regs *regs) { }
-static inline void ftrace_syscall_exit(struct pt_regs *regs) { }
-#endif
-
 #endif /* _LINUX_FTRACE_H */
 #endif /* _LINUX_FTRACE_H */

+ 1 - 1
include/linux/syscalls.h

@@ -65,7 +65,7 @@ struct old_linux_dirent;
 #include <asm/signal.h>
 #include <asm/signal.h>
 #include <linux/quota.h>
 #include <linux/quota.h>
 #include <linux/key.h>
 #include <linux/key.h>
-#include <linux/ftrace.h>
+#include <trace/syscall.h>
 
 
 #define __SC_DECL1(t1, a1)	t1 a1
 #define __SC_DECL1(t1, a1)	t1 a1
 #define __SC_DECL2(t2, a2, ...) t2 a2, __SC_DECL1(__VA_ARGS__)
 #define __SC_DECL2(t2, a2, ...) t2 a2, __SC_DECL1(__VA_ARGS__)

+ 35 - 0
include/trace/syscall.h

@@ -0,0 +1,35 @@
+#ifndef _TRACE_SYSCALL_H
+#define _TRACE_SYSCALL_H
+
+#include <asm/ptrace.h>
+
+/*
+ * A syscall entry in the ftrace syscalls array.
+ *
+ * @name: name of the syscall
+ * @nb_args: number of parameters it takes
+ * @types: list of types as strings
+ * @args: list of args as strings (args[i] matches types[i])
+ */
+struct syscall_metadata {
+	const char	*name;
+	int		nb_args;
+	const char	**types;
+	const char	**args;
+};
+
+#ifdef CONFIG_FTRACE_SYSCALLS
+extern void arch_init_ftrace_syscalls(void);
+extern struct syscall_metadata *syscall_nr_to_meta(int nr);
+extern void start_ftrace_syscalls(void);
+extern void stop_ftrace_syscalls(void);
+extern void ftrace_syscall_enter(struct pt_regs *regs);
+extern void ftrace_syscall_exit(struct pt_regs *regs);
+#else
+static inline void start_ftrace_syscalls(void)			{ }
+static inline void stop_ftrace_syscalls(void)			{ }
+static inline void ftrace_syscall_enter(struct pt_regs *regs)	{ }
+static inline void ftrace_syscall_exit(struct pt_regs *regs)	{ }
+#endif
+
+#endif /* _TRACE_SYSCALL_H */

+ 5 - 5
kernel/trace/blktrace.c

@@ -1377,12 +1377,12 @@ static int blk_trace_str2mask(const char *str)
 {
 {
 	int i;
 	int i;
 	int mask = 0;
 	int mask = 0;
-	char *s, *token;
+	char *buf, *s, *token;
 
 
-	s = kstrdup(str, GFP_KERNEL);
-	if (s == NULL)
+	buf = kstrdup(str, GFP_KERNEL);
+	if (buf == NULL)
 		return -ENOMEM;
 		return -ENOMEM;
-	s = strstrip(s);
+	s = strstrip(buf);
 
 
 	while (1) {
 	while (1) {
 		token = strsep(&s, ",");
 		token = strsep(&s, ",");
@@ -1403,7 +1403,7 @@ static int blk_trace_str2mask(const char *str)
 			break;
 			break;
 		}
 		}
 	}
 	}
-	kfree(s);
+	kfree(buf);
 
 
 	return mask;
 	return mask;
 }
 }

+ 1 - 1
kernel/trace/trace_syscalls.c

@@ -1,5 +1,5 @@
+#include <trace/syscall.h>
 #include <linux/kernel.h>
 #include <linux/kernel.h>
-#include <linux/ftrace.h>
 #include <asm/syscall.h>
 #include <asm/syscall.h>
 
 
 #include "trace_output.h"
 #include "trace_output.h"