From 1926ffb5ab3ce15e20445f52e6a44a9d9c2295c5 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Thu, 3 Dec 2020 18:49:12 +0100 Subject: [PATCH] build: Add IRQSOFF and PREEMPT TRACER kernel config option This adds the CONFIG_IRQSOFF_TRACER and the CONFIG_PREEMPT_TRACER kernel configuration option to the OpenWrt menu. This can be used to debug latencies in the system. The CONFIG_PREEMPT_TRACER option needs the CONFIG_PREEMPT option which is supposed to be used for Low-Latency Desktop and not used by many targets in OpenWrt. The help text is copied from the Linux kernel Kconfig. Signed-off-by: Hauke Mehrtens --- config/Config-kernel.in | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/config/Config-kernel.in b/config/Config-kernel.in index 3f013aa2b21..22e2286b8de 100644 --- a/config/Config-kernel.in +++ b/config/Config-kernel.in @@ -266,6 +266,40 @@ config KERNEL_FUNCTION_PROFILER depends on KERNEL_FUNCTION_TRACER default n +config KERNEL_IRQSOFF_TRACER + bool "Interrupts-off Latency Tracer" + depends on KERNEL_FTRACE + 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 > /sys/kernel/debug/tracing/tracing_max_latency + + (Note that kernel size and overhead increase with this option + enabled. This option and the preempt-off timing option can be + used together or separately.) + +config KERNEL_PREEMPT_TRACER + bool "Preemption-off Latency Tracer" + depends on KERNEL_FTRACE + 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 > /sys/kernel/debug/tracing/tracing_max_latency + + (Note that kernel size and overhead increase with this option + enabled. This option and the irqs-off timing option can be + used together or separately.) + config KERNEL_DEBUG_KERNEL bool default n