summaryrefslogtreecommitdiffstats
path: root/kernel/trace/Kconfig
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-10-06 14:48:41 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-10-06 14:48:41 -0400
commit95107b30be68953e3a4f1c3994c2233500502ccf (patch)
treeed1824ce842d9813f2ee8a5fa8683e0d6b13f662 /kernel/trace/Kconfig
parent541efb7632642cab55361178d73d544f025b593c (diff)
parenta0d0c6216afad4b2b1704a72bd76bea259e07655 (diff)
Merge tag 'trace-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing updates from Steven Rostedt: "This release cycle is rather small. Just a few fixes to tracing. The big change is the addition of the hwlat tracer. It not only detects SMIs, but also other latency that's caused by the hardware. I have detected some latency from large boxes having bus contention" * tag 'trace-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Call traceoff trigger after event is recorded ftrace/scripts: Add helper script to bisect function tracing problem functions tracing: Have max_latency be defined for HWLAT_TRACER as well tracing: Add NMI tracing in hwlat detector tracing: Have hwlat trace migrate across tracing_cpumask CPUs tracing: Add documentation for hwlat_detector tracer tracing: Added hardware latency tracer ftrace: Access ret_stack->subtime only in the function profiler function_graph: Handle TRACE_BPUTS in print_graph_comment tracing/uprobe: Drop isdigit() check in create_trace_uprobe
Diffstat (limited to 'kernel/trace/Kconfig')
-rw-r--r--kernel/trace/Kconfig35
1 files changed, 35 insertions, 0 deletions
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index ba3326785ca4..2a96b063d659 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -216,6 +216,41 @@ config SCHED_TRACER
216 This tracer tracks the latency of the highest priority task 216 This tracer tracks the latency of the highest priority task
217 to be scheduled in, starting from the point it has woken up. 217 to be scheduled in, starting from the point it has woken up.
218 218
219config HWLAT_TRACER
220 bool "Tracer to detect hardware latencies (like SMIs)"
221 select GENERIC_TRACER
222 help
223 This tracer, when enabled will create one or more kernel threads,
224 depening on what the cpumask file is set to, which each thread
225 spinning in a loop looking for interruptions caused by
226 something other than the kernel. For example, if a
227 System Management Interrupt (SMI) takes a noticeable amount of
228 time, this tracer will detect it. This is useful for testing
229 if a system is reliable for Real Time tasks.
230
231 Some files are created in the tracing directory when this
232 is enabled:
233
234 hwlat_detector/width - time in usecs for how long to spin for
235 hwlat_detector/window - time in usecs between the start of each
236 iteration
237
238 A kernel thread is created that will spin with interrupts disabled
239 for "width" microseconds in every "widow" cycle. It will not spin
240 for "window - width" microseconds, where the system can
241 continue to operate.
242
243 The output will appear in the trace and trace_pipe files.
244
245 When the tracer is not running, it has no affect on the system,
246 but when it is running, it can cause the system to be
247 periodically non responsive. Do not run this tracer on a
248 production system.
249
250 To enable this tracer, echo in "hwlat" into the current_tracer
251 file. Every time a latency is greater than tracing_thresh, it will
252 be recorded into the ring buffer.
253
219config ENABLE_DEFAULT_TRACERS 254config ENABLE_DEFAULT_TRACERS
220 bool "Trace process context switches and events" 255 bool "Trace process context switches and events"
221 depends on !GENERIC_TRACER 256 depends on !GENERIC_TRACER