ftrace/fastboot: disable tracers self-tests when boot tracer is selected
authorFrédéric Weisbecker <fweisbec@gmail.com>
Wed, 24 Sep 2008 09:36:09 +0000 (10:36 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 14 Oct 2008 08:38:51 +0000 (10:38 +0200)
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>
kernel/trace/Kconfig

index 81a17ef..4feb3c8 100644 (file)
@@ -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