ftrace: add stack tracing
[deliverable/linux.git] / kernel / trace / Kconfig
index 896df1cf6adc36457390f7bb16ad7c703659a293..eb1988ed84b714cec5201fc5cec7dc585e1ab56f 100644 (file)
@@ -10,6 +10,7 @@ config TRACER_MAX_TRACE
 config TRACING
        bool
        select DEBUG_FS
+       select STACKTRACE
 
 config FTRACE
        bool "Kernel Function Tracer"
@@ -44,6 +45,31 @@ config IRQSOFF_TRACER
 
              echo 0 > /debugfs/tracing/tracing_max_latency
 
+         (Note that kernel size and overhead increases with this option
+         enabled. This option and the preempt-off timing option can be
+         used together or separately.)
+
+config PREEMPT_TRACER
+       bool "Preemption-off Latency Tracer"
+       default n
+       depends on GENERIC_TIME
+       depends on PREEMPT
+       select TRACING
+       select TRACER_MAX_TRACE
+       help
+         This option measures the time spent in preemption off critical
+         sections, with microsecond accuracy.
+
+         The default measurement method is a maximum search, which is
+         disabled by default and can be runtime (re-)started
+         via:
+
+             echo 0 > /debugfs/tracing/tracing_max_latency
+
+         (Note that kernel size and overhead increases with this option
+         enabled. This option and the irqs-off timing option can be
+         used together or separately.)
+
 config SCHED_TRACER
        bool "Scheduling Latency Tracer"
        depends on DEBUG_KERNEL
@@ -63,3 +89,33 @@ config CONTEXT_SWITCH_TRACER
          This tracer gets called from the context switch and records
          all switching of tasks.
 
+config DYNAMIC_FTRACE
+       bool "enable/disable ftrace tracepoints dynamically"
+       depends on FTRACE
+       default y
+       help
+         This option will modify all the calls to ftrace dynamically
+        (will patch them out of the binary image and replaces them
+        with a No-Op instruction) as they are called. A table is
+        created to dynamically enable them again.
+
+        This way a CONFIG_FTRACE kernel is slightly larger, but otherwise
+        has native performance as long as no tracing is active.
+
+        The changes to the code are done by a kernel thread that
+        wakes up once a second and checks to see if any ftrace calls
+        were made. If so, it runs stop_machine (stops all CPUS)
+        and modifies the code to jump over the call to ftrace.
+
+config FTRACE_SELFTEST
+       bool
+
+config FTRACE_STARTUP_TEST
+       bool "Perform a startup test on ftrace"
+       depends on TRACING
+       select FTRACE_SELFTEST
+       help
+         This option performs a series of startup tests on ftrace. On bootup
+         a series of tests are made to verify that the tracer is
+         functioning properly. It will do tests on all the configured
+         tracers of ftrace.
This page took 0.029633 seconds and 5 git commands to generate.