]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - kernel/trace/Kconfig
Merge branch 'for-2.6.27' of git://git.marvell.com/mv643xx_eth into upstream-fixes
[mv-sheeva.git] / kernel / trace / Kconfig
index 6430016b98e8fcb16dea44d53c77c53ef4753e88..263e9e6bbd60912132ba18077c0fa0d66d7e1ffb 100644 (file)
@@ -4,16 +4,20 @@
 config HAVE_FTRACE
        bool
 
+config HAVE_DYNAMIC_FTRACE
+       bool
+
 config TRACER_MAX_TRACE
        bool
 
 config TRACING
        bool
        select DEBUG_FS
+       select STACKTRACE
 
 config FTRACE
        bool "Kernel Function Tracer"
-       depends on DEBUG_KERNEL && HAVE_FTRACE
+       depends on HAVE_FTRACE
        select FRAME_POINTER
        select TRACING
        select CONTEXT_SWITCH_TRACER
@@ -31,6 +35,7 @@ config IRQSOFF_TRACER
        default n
        depends on TRACE_IRQFLAGS_SUPPORT
        depends on GENERIC_TIME
+       depends on HAVE_FTRACE
        select TRACE_IRQFLAGS
        select TRACING
        select TRACER_MAX_TRACE
@@ -53,6 +58,7 @@ config PREEMPT_TRACER
        default n
        depends on GENERIC_TIME
        depends on PREEMPT
+       depends on HAVE_FTRACE
        select TRACING
        select TRACER_MAX_TRACE
        help
@@ -69,9 +75,17 @@ config PREEMPT_TRACER
          enabled. This option and the irqs-off timing option can be
          used together or separately.)
 
+config SYSPROF_TRACER
+       bool "Sysprof Tracer"
+       depends on X86
+       select TRACING
+       help
+         This tracer provides the trace needed by the 'Sysprof' userspace
+         tool.
+
 config SCHED_TRACER
        bool "Scheduling Latency Tracer"
-       depends on DEBUG_KERNEL
+       depends on HAVE_FTRACE
        select TRACING
        select CONTEXT_SWITCH_TRACER
        select TRACER_MAX_TRACE
@@ -81,10 +95,41 @@ config SCHED_TRACER
 
 config CONTEXT_SWITCH_TRACER
        bool "Trace process context switches"
-       depends on DEBUG_KERNEL
+       depends on HAVE_FTRACE
        select TRACING
        select MARKERS
        help
          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
+       depends on HAVE_DYNAMIC_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.