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 | |
| 7 | config TRACING |
| 8 | bool |
| 9 | select DEBUG_FS |
| 10 | |
Steven Rostedt | 1b29b01 | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 11 | config FTRACE |
| 12 | bool "Kernel Function Tracer" |
| 13 | depends on DEBUG_KERNEL && HAVE_FTRACE |
| 14 | select FRAME_POINTER |
| 15 | select TRACING |
Steven Rostedt | 35e8e30 | 2008-05-12 21:20:42 +0200 | [diff] [blame^] | 16 | select CONTEXT_SWITCH_TRACER |
Steven Rostedt | 1b29b01 | 2008-05-12 21:20:42 +0200 | [diff] [blame] | 17 | help |
| 18 | Enable the kernel to trace every kernel function. This is done |
| 19 | by using a compiler feature to insert a small, 5-byte No-Operation |
| 20 | instruction to the beginning of every kernel function, which NOP |
| 21 | sequence is then dynamically patched into a tracer call when |
| 22 | tracing is enabled by the administrator. If it's runtime disabled |
| 23 | (the bootup default), then the overhead of the instructions is very |
| 24 | small and not measurable even in micro-benchmarks. |
Steven Rostedt | 35e8e30 | 2008-05-12 21:20:42 +0200 | [diff] [blame^] | 25 | |
| 26 | config CONTEXT_SWITCH_TRACER |
| 27 | bool "Trace process context switches" |
| 28 | depends on DEBUG_KERNEL |
| 29 | select TRACING |
| 30 | select MARKERS |
| 31 | help |
| 32 | This tracer gets called from the context switch and records |
| 33 | all switching of tasks. |
| 34 | |