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>
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 81a17ef..4feb3c8 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -126,7 +126,9 @@
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_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