lockd: dont return EAGAIN for a permanent error
[safe/jmp/linux-2.6] / kernel / trace / Kconfig
index 892ecc9..263e9e6 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
@@ -26,9 +30,62 @@ config FTRACE
          (the bootup default), then the overhead of the instructions is very
          small and not measurable even in micro-benchmarks.
 
+config IRQSOFF_TRACER
+       bool "Interrupts-off Latency 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
+       help
+         This option measures the time spent in irqs-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 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
+       depends on HAVE_FTRACE
+       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 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
@@ -38,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.