build: Add IRQSOFF and PREEMPT TRACER kernel config option
authorHauke Mehrtens <hmehrtens@maxlinear.com>
Thu, 3 Dec 2020 17:49:12 +0000 (18:49 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 16 Dec 2020 21:11:19 +0000 (22:11 +0100)
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 <hmehrtens@maxlinear.com>
config/Config-kernel.in

index 3f013aa2b21fcd7e06b559b76b5d78a610759ae2..22e2286b8deddbf418dc8bdb950e8f26ca34256b 100644 (file)
@@ -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