# # Architectures that offer an FTRACE implementation should select HAVE_FTRACE: # config HAVE_FTRACE bool config TRACER_MAX_TRACE 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 IRQSOFF_TRACER bool "Interrupts-off Latency Tracer" default n depends on TRACE_IRQFLAGS_SUPPORT depends on GENERIC_TIME 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 config SCHED_TRACER bool "Scheduling Latency Tracer" depends on DEBUG_KERNEL select TRACING select CONTEXT_SWITCH_TRACER select TRACER_MAX_TRACE help This tracer tracks the latency of the highest priority task to be scheduled in, starting from the point it has woken up. 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.