]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - kernel/trace/Kconfig
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next
[linux-2.6-omap-h63xx.git] / kernel / trace / Kconfig
index 7e354870570830cdbd381e102e08e92ccf9c1f32..e2a4ff6fc3a6bb1509472dad03d0ad41df855748 100644 (file)
@@ -3,13 +3,16 @@
 #  select HAVE_FUNCTION_TRACER:
 #
 
+config USER_STACKTRACE_SUPPORT
+       bool
+
 config NOP_TRACER
        bool
 
 config HAVE_FUNCTION_TRACER
        bool
 
-config HAVE_FUNCTION_RET_TRACER
+config HAVE_FUNCTION_GRAPH_TRACER
        bool
 
 config HAVE_FUNCTION_TRACE_MCOUNT_TEST
@@ -25,6 +28,9 @@ config HAVE_DYNAMIC_FTRACE
 config HAVE_FTRACE_MCOUNT_RECORD
        bool
 
+config HAVE_HW_BRANCH_TRACER
+       bool
+
 config TRACER_MAX_TRACE
        bool
 
@@ -57,15 +63,19 @@ config FUNCTION_TRACER
          (the bootup default), then the overhead of the instructions is very
          small and not measurable even in micro-benchmarks.
 
-config FUNCTION_RET_TRACER
-       bool "Kernel Function return Tracer"
-       depends on HAVE_FUNCTION_RET_TRACER
+config FUNCTION_GRAPH_TRACER
+       bool "Kernel Function Graph Tracer"
+       depends on HAVE_FUNCTION_GRAPH_TRACER
        depends on FUNCTION_TRACER
+       default y
        help
-         Enable the kernel to trace a function at its return.
-         It's first purpose is to trace the duration of functions.
-         This is done by setting the current return address on the thread
-         info structure of the current task.
+         Enable the kernel to trace a function at both its return
+         and its entry.
+         It's first purpose is to trace the duration of functions and
+         draw a call graph for each thread with some informations like
+         the return value.
+         This is done by setting the current return address on the current
+         task structure into a stack of calls.
 
 config IRQSOFF_TRACER
        bool "Interrupts-off Latency Tracer"
@@ -173,6 +183,22 @@ config TRACE_BRANCH_PROFILING
 
          Say N if unsure.
 
+config PROFILE_ALL_BRANCHES
+       bool "Profile all if conditionals"
+       depends on TRACE_BRANCH_PROFILING
+       help
+         This tracer profiles all branch conditions. Every if ()
+         taken in the kernel is recorded whether it hit or miss.
+         The results will be displayed in:
+
+         /debugfs/tracing/profile_branch
+
+         This configuration, when enabled, will impose a great overhead
+         on the system. This should only be enabled when the system
+         is to be analyzed
+
+         Say N if unsure.
+
 config TRACING_BRANCHES
        bool
        help
@@ -195,6 +221,17 @@ config BRANCH_TRACER
 
          Say N if unsure.
 
+config POWER_TRACER
+       bool "Trace power consumption behavior"
+       depends on DEBUG_KERNEL
+       depends on X86
+       select TRACING
+       help
+         This tracer helps developers to analyze and optimize the kernels
+         power management decisions, specifically the C-state and P-state
+         behavior.
+
+
 config STACK_TRACER
        bool "Trace max stack"
        depends on HAVE_FUNCTION_TRACER
@@ -207,13 +244,26 @@ config STACK_TRACER
 
          This tracer works by hooking into every function call that the
          kernel executes, and keeping a maximum stack depth value and
-         stack-trace saved. Because this logic has to execute in every
-         kernel function, all the time, this option can slow down the
-         kernel measurably and is generally intended for kernel
-         developers only.
+         stack-trace saved.  If this is configured with DYNAMIC_FTRACE
+         then it will not have any overhead while the stack tracer
+         is disabled.
+
+         To enable the stack tracer on bootup, pass in 'stacktrace'
+         on the kernel command line.
+
+         The stack tracer can also be enabled or disabled via the
+         sysctl kernel.stack_tracer_enabled
 
          Say N if unsure.
 
+config HW_BRANCH_TRACER
+       depends on HAVE_HW_BRANCH_TRACER
+       bool "Trace hw branches"
+       select TRACING
+       help
+         This tracer records all branches on the system in a circular
+         buffer giving access to the last N branches for each cpu.
+
 config DYNAMIC_FTRACE
        bool "enable/disable ftrace tracepoints dynamically"
        depends on FUNCTION_TRACER