瀏覽代碼

tracing/stack-tracer: introduce CONFIG_USER_STACKTRACE_SUPPORT

Impact: cleanup

User stack tracing is just implemented for x86, but it is not x86 specific.

Introduce a generic config flag, that is currently enabled only for x86.
When other arches implement it, they will have to
SELECT USER_STACKTRACE_SUPPORT.

Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Török Edwin 16 年之前
父節點
當前提交
8d26487fd4
共有 3 個文件被更改,包括 5 次插入1 次删除
  1. 1 0
      arch/x86/Kconfig
  2. 1 1
      include/linux/stacktrace.h
  3. 3 0
      kernel/trace/Kconfig

+ 1 - 0
arch/x86/Kconfig

@@ -36,6 +36,7 @@ config X86
 	select HAVE_ARCH_TRACEHOOK
 	select HAVE_ARCH_TRACEHOOK
 	select HAVE_GENERIC_DMA_COHERENT if X86_32
 	select HAVE_GENERIC_DMA_COHERENT if X86_32
 	select HAVE_EFFICIENT_UNALIGNED_ACCESS
 	select HAVE_EFFICIENT_UNALIGNED_ACCESS
+	select USER_STACKTRACE_SUPPORT
 
 
 config ARCH_DEFCONFIG
 config ARCH_DEFCONFIG
 	string
 	string

+ 1 - 1
include/linux/stacktrace.h

@@ -16,7 +16,7 @@ extern void save_stack_trace_tsk(struct task_struct *tsk,
 
 
 extern void print_stack_trace(struct stack_trace *trace, int spaces);
 extern void print_stack_trace(struct stack_trace *trace, int spaces);
 
 
-#ifdef CONFIG_X86
+#ifdef CONFIG_USER_STACKTRACE_SUPPORT
 extern void save_stack_trace_user(struct stack_trace *trace);
 extern void save_stack_trace_user(struct stack_trace *trace);
 #else
 #else
 # define save_stack_trace_user(trace)              do { } while (0)
 # define save_stack_trace_user(trace)              do { } while (0)

+ 3 - 0
kernel/trace/Kconfig

@@ -3,6 +3,9 @@
 #  select HAVE_FUNCTION_TRACER:
 #  select HAVE_FUNCTION_TRACER:
 #
 #
 
 
+config USER_STACKTRACE_SUPPORT
+	bool
+
 config NOP_TRACER
 config NOP_TRACER
 	bool
 	bool