Arnaldo Carvalho de Melo | 16444a8 | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 1 | # |
| 2 | # Architectures that offer an FTRACE implementation should select HAVE_FTRACE: |
| 3 | # |
| 4 | config HAVE_FTRACE |
| 5 | bool |
Steven Rostedt | bc0c38d | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 6 | |
Steven Rostedt | 352ad25 | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 7 | config TRACER_MAX_TRACE |
| 8 | bool |
| 9 | |
Steven Rostedt | bc0c38d | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 10 | config TRACING |
| 11 | bool |
| 12 | select DEBUG_FS |
| 13 | |
Steven Rostedt | 1b29b01 | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 14 | config FTRACE |
| 15 | bool "Kernel Function Tracer" |
| 16 | depends on DEBUG_KERNEL && HAVE_FTRACE |
| 17 | select FRAME_POINTER |
| 18 | select TRACING |
Steven Rostedt | 35e8e30 | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 19 | select CONTEXT_SWITCH_TRACER |
Steven Rostedt | 1b29b01 | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 20 | help |
| 21 | Enable the kernel to trace every kernel function. This is done |
| 22 | by using a compiler feature to insert a small, 5-byte No-Operation |
| 23 | instruction to the beginning of every kernel function, which NOP |
| 24 | sequence is then dynamically patched into a tracer call when |
| 25 | tracing is enabled by the administrator. If it's runtime disabled |
| 26 | (the bootup default), then the overhead of the instructions is very |
| 27 | small and not measurable even in micro-benchmarks. |
Steven Rostedt | 35e8e30 | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 28 | |
Steven Rostedt | 81d68a9 | 2008-05-12 21:20:42 +0200 | [diff] [blame^] | 29 | config IRQSOFF_TRACER |
| 30 | bool "Interrupts-off Latency Tracer" |
| 31 | default n |
| 32 | depends on TRACE_IRQFLAGS_SUPPORT |
| 33 | depends on GENERIC_TIME |
| 34 | select TRACE_IRQFLAGS |
| 35 | select TRACING |
| 36 | select TRACER_MAX_TRACE |
| 37 | help |
| 38 | This option measures the time spent in irqs-off critical |
| 39 | sections, with microsecond accuracy. |
| 40 | |
| 41 | The default measurement method is a maximum search, which is |
| 42 | disabled by default and can be runtime (re-)started |
| 43 | via: |
| 44 | |
| 45 | echo 0 > /debugfs/tracing/tracing_max_latency |
| 46 | |
Steven Rostedt | 352ad25 | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 47 | config SCHED_TRACER |
| 48 | bool "Scheduling Latency Tracer" |
| 49 | depends on DEBUG_KERNEL |
| 50 | select TRACING |
| 51 | select CONTEXT_SWITCH_TRACER |
| 52 | select TRACER_MAX_TRACE |
| 53 | help |
| 54 | This tracer tracks the latency of the highest priority task |
| 55 | to be scheduled in, starting from the point it has woken up. |
| 56 | |
Steven Rostedt | 35e8e30 | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 57 | config CONTEXT_SWITCH_TRACER |
| 58 | bool "Trace process context switches" |
| 59 | depends on DEBUG_KERNEL |
| 60 | select TRACING |
| 61 | select MARKERS |
| 62 | help |
| 63 | This tracer gets called from the context switch and records |
| 64 | all switching of tasks. |
| 65 | |