| # |
| # Architectures that offer an FTRACE implementation should select HAVE_FTRACE: |
| # |
| config HAVE_FTRACE |
| bool |
| |
| config TRACING |
| bool |
| select DEBUG_FS |
| |
| config FTRACE |
| bool "Kernel Function Tracer" |
| depends on DEBUG_KERNEL && HAVE_FTRACE |
| select FRAME_POINTER |
| select TRACING |
| select CONTEXT_SWITCH_TRACER |
| help |
| Enable the kernel to trace every kernel function. This is done |
| by using a compiler feature to insert a small, 5-byte No-Operation |
| instruction to the beginning of every kernel function, which NOP |
| sequence is then dynamically patched into a tracer call when |
| tracing is enabled by the administrator. If it's runtime disabled |
| (the bootup default), then the overhead of the instructions is very |
| small and not measurable even in micro-benchmarks. |
| |
| config CONTEXT_SWITCH_TRACER |
| bool "Trace process context switches" |
| depends on DEBUG_KERNEL |
| select TRACING |
| select MARKERS |
| help |
| This tracer gets called from the context switch and records |
| all switching of tasks. |
| |