]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - kernel/trace/Kconfig
Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-omap-h63xx.git] / kernel / trace / Kconfig
index 999c6a2485df6f4970262122b2a5925032566e49..2246141bda4d1159745b957f7c1ace20aa6176e7 100644 (file)
@@ -34,6 +34,9 @@ config HAVE_FTRACE_MCOUNT_RECORD
 config HAVE_HW_BRANCH_TRACER
        bool
 
+config HAVE_FTRACE_SYSCALLS
+       bool
+
 config TRACER_MAX_TRACE
        bool
 
@@ -52,13 +55,29 @@ config TRACING
        select STACKTRACE if STACKTRACE_SUPPORT
        select TRACEPOINTS
        select NOP_TRACER
+       select BINARY_PRINTF
+
+#
+# Minimum requirements an architecture has to meet for us to
+# be able to offer generic tracing facilities:
+#
+config TRACING_SUPPORT
+       bool
+       # PPC32 has no irqflags tracing support, but it can use most of the
+       # tracers anyway, they were tested to build and work. Note that new
+       # exceptions to this list aren't welcomed, better implement the
+       # irqflags tracing for your architecture.
+       depends on TRACE_IRQFLAGS_SUPPORT || PPC32
+       depends on STACKTRACE_SUPPORT
+       default y
+
+if TRACING_SUPPORT
 
 menu "Tracers"
 
 config FUNCTION_TRACER
        bool "Kernel Function Tracer"
        depends on HAVE_FUNCTION_TRACER
-       depends on DEBUG_KERNEL
        select FRAME_POINTER
        select KALLSYMS
        select TRACING
@@ -80,18 +99,16 @@ config FUNCTION_GRAPH_TRACER
        help
          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.
+         Its first purpose is to trace the duration of functions and
+         draw a call graph for each thread with some information 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"
        default n
        depends on TRACE_IRQFLAGS_SUPPORT
        depends on GENERIC_TIME
-       depends on DEBUG_KERNEL
        select TRACE_IRQFLAGS
        select TRACING
        select TRACER_MAX_TRACE
@@ -114,7 +131,6 @@ config PREEMPT_TRACER
        default n
        depends on GENERIC_TIME
        depends on PREEMPT
-       depends on DEBUG_KERNEL
        select TRACING
        select TRACER_MAX_TRACE
        help
@@ -142,7 +158,6 @@ config SYSPROF_TRACER
 
 config SCHED_TRACER
        bool "Scheduling Latency Tracer"
-       depends on DEBUG_KERNEL
        select TRACING
        select CONTEXT_SWITCH_TRACER
        select TRACER_MAX_TRACE
@@ -152,7 +167,6 @@ config SCHED_TRACER
 
 config CONTEXT_SWITCH_TRACER
        bool "Trace process context switches"
-       depends on DEBUG_KERNEL
        select TRACING
        select MARKERS
        help
@@ -161,16 +175,22 @@ config CONTEXT_SWITCH_TRACER
 
 config EVENT_TRACER
        bool "Trace various events in the kernel"
-       depends on DEBUG_KERNEL
        select TRACING
        help
          This tracer hooks to various trace points in the kernel
          allowing the user to pick and choose which trace point they
          want to trace.
 
+config FTRACE_SYSCALLS
+       bool "Trace syscalls"
+       depends on HAVE_FTRACE_SYSCALLS
+       select TRACING
+       select KALLSYMS
+       help
+         Basic tracer to catch the syscall entry and exit events.
+
 config BOOT_TRACER
        bool "Trace boot initcalls"
-       depends on DEBUG_KERNEL
        select TRACING
        select CONTEXT_SWITCH_TRACER
        help
@@ -188,7 +208,6 @@ config BOOT_TRACER
 
 config TRACE_BRANCH_PROFILING
        bool "Trace likely/unlikely profiler"
-       depends on DEBUG_KERNEL
        select TRACING
        help
          This tracer profiles all the the likely and unlikely macros
@@ -241,7 +260,6 @@ config BRANCH_TRACER
 
 config POWER_TRACER
        bool "Trace power consumption behavior"
-       depends on DEBUG_KERNEL
        depends on X86
        select TRACING
        help
@@ -253,7 +271,6 @@ config POWER_TRACER
 config STACK_TRACER
        bool "Trace max stack"
        depends on HAVE_FUNCTION_TRACER
-       depends on DEBUG_KERNEL
        select FUNCTION_TRACER
        select STACKTRACE
        select KALLSYMS
@@ -343,7 +360,6 @@ config DYNAMIC_FTRACE
        bool "enable/disable ftrace tracepoints dynamically"
        depends on FUNCTION_TRACER
        depends on HAVE_DYNAMIC_FTRACE
-       depends on DEBUG_KERNEL
        default y
        help
          This option will modify all the calls to ftrace dynamically
@@ -369,7 +385,7 @@ config FTRACE_SELFTEST
 
 config FTRACE_STARTUP_TEST
        bool "Perform a startup test on ftrace"
-       depends on TRACING && DEBUG_KERNEL
+       depends on TRACING
        select FTRACE_SELFTEST
        help
          This option performs a series of startup tests on ftrace. On bootup
@@ -379,7 +395,7 @@ config FTRACE_STARTUP_TEST
 
 config MMIOTRACE
        bool "Memory mapped IO tracing"
-       depends on HAVE_MMIOTRACE_SUPPORT && DEBUG_KERNEL && PCI
+       depends on HAVE_MMIOTRACE_SUPPORT && PCI
        select TRACING
        help
          Mmiotrace traces Memory Mapped I/O access and is meant for
@@ -401,3 +417,6 @@ config MMIOTRACE_TEST
          Say N, unless you absolutely know what you are doing.
 
 endmenu
+
+endif # TRACING_SUPPORT
+