浏览代码

ftrace/fastboot: disable tracers self-tests when boot tracer is selected

The tracing engine resets the ring buffer and the tracers touch it
too during self-tests. These self-tests happen during tracers registering
and work against boot tracing which is logging initcalls.

We have to disable tracing self-tests if the boot-tracer is selected.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Frédéric Weisbecker 16 年之前
父节点
当前提交
3ce2b9200d
共有 1 个文件被更改,包括 4 次插入3 次删除
  1. 4 3
      kernel/trace/Kconfig

+ 4 - 3
kernel/trace/Kconfig

@@ -126,7 +126,9 @@ config BOOT_TRACER
 	  the timings of the initcalls. Its aim is to be parsed by the
 	  /scripts/bootgraph.pl tool to produce pretty graphics about
 	  boot inefficiencies, giving a visual representation of the
-	  delays during initcalls.
+	  delays during initcalls. Note that tracers self tests can't
+	  be enabled if this tracer is selected since only one tracer
+	  should touch the tracing buffer at a time.
 
 config STACK_TRACER
 	bool "Trace max stack"
@@ -168,8 +170,7 @@ config FTRACE_SELFTEST
 
 config FTRACE_STARTUP_TEST
 	bool "Perform a startup test on ftrace"
-	depends on TRACING
-	depends on DEBUG_KERNEL
+	depends on TRACING && DEBUG_KERNEL && !BOOT_TRACER
 	select FTRACE_SELFTEST
 	help
 	  This option performs a series of startup tests on ftrace. On bootup