Lines Matching +full:required +full:- +full:for +full:- +full:hardware +full:- +full:jobs
1 # SPDX-License-Identifier: GPL-2.0-only
21 API, which will be used by other function-entry hooking
27 See Documentation/trace/ftrace-design.rst
32 See Documentation/trace/ftrace-design.rst
45 See Documentation/trace/ftrace-design.rst
59 For architectures that use ipi_raise, ipi_entry and ipi_exit
68 This allows for use of ftrace_regs_get_argument() and
86 See Documentation/trace/ftrace-design.rst
91 Arch supports the gcc options -pg with -mfentry
96 Arch supports the gcc options -pg with -mrecord-mcount and -nop-mcount
101 Arch supports objtool --mcount
106 Arch supports the objtool options --mcount with --mnop.
162 # All tracer options should select GENERIC_TRACER. For those options that are
185 # Minimum requirements an architecture has to meet for us to
210 was still automounted in /sys/kernel/debug for backward
213 The new interface has been around for more than 10 years and
217 bool "Boot-time Tracing support"
222 kernel cmdline at boot time for debugging (tracing) driver
236 by using a compiler feature to insert a small, 5-byte No-Operation
241 small and not measurable even in micro-benchmarks (at least on
254 draw a call graph for each thread with some information like
267 enable it via the trace option funcgraph-retval.
278 enable it via the trace option funcgraph-retaddr.
288 enabled via the trace option func-args (for the function tracer) and
289 funcgraph-args (for the function graph tracer)
299 replace them with a No-Op instruction) on boot up. During
341 The fprobe is similar to kprobes, but probes only for kernel function
373 stack-trace saved. If this is configured with DYNAMIC_FTRACE
392 bool "Interrupts-off Latency Tracer"
402 This option measures the time spent in irqs-off critical
406 disabled by default and can be runtime (re-)started
412 enabled. This option and the preempt-off timing option can be
416 bool "Preemption-off Latency Tracer"
426 This option measures the time spent in preemption-off critical
430 disabled by default and can be runtime (re-)started
436 enabled. This option and the irqs-off timing option can be
450 bool "Tracer to detect hardware latencies (like SMIs)"
456 spinning in a loop looking for interruptions caused by
457 something other than the kernel. For example, if a
459 time, this tracer will detect it. This is useful for testing
460 if a system is reliable for Real Time tasks.
465 hwlat_detector/width - time in usecs for how long to spin for
466 hwlat_detector/window - time in usecs between the start of each
470 for "width" microseconds in every "window" cycle. It will not spin
471 for "window - width" microseconds, where the system can
490 In the context of high-performance computing (HPC), the Operating
494 can cause noise to the system. Moreover, hardware-related jobs can
495 also cause noise, for example, via SMIs.
501 increasing a per-cpu interference counter. It saves an interference
502 counter for each source of interference. The interference counter for
506 hardware noise counter increases, pointing to a hardware-related
507 noise. In this way, osnoise can account for any source of
510 available for the thread, and the counters for the noise sources.
526 to find sources of wakeup latencies of real-time threads.
528 The tracer creates a per-cpu kernel thread with real-time priority.
530 to sleep waiting for the timer to fire. At the wakeup, the thread
553 Mmiotrace traces Memory Mapped I/O access and is meant for
556 default and can be enabled at run-time.
599 After which, only the tracing buffer for CPU 2 was swapped with
623 The "all branch" profiler will profile every if-statement in the
689 bool "Support for tracing block IO actions"
700 on a block device queue. For more information (and the userspace
716 bool "Enable fprobe-based dynamic events"
731 bool "Support BTF function arguments for probe events"
742 bool "Enable kprobes-based dynamic events"
750 Documentation/trace/kprobetrace.rst for more details.
755 This option is also required by perf-probe subcommand of perf tools.
764 This is only for the developers who want to debug ftrace itself
768 functions are protected from kprobe-events to prevent an infinite
773 events on ftrace functions for debugging ftrace by itself.
779 bool "Enable uprobes-based dynamic events"
793 This option is required if you plan to use perf-probe subcommand
797 bool "Enable event-based dynamic events"
807 convert the type of an event field. For example, turn an
832 set a different return value. This is used for error injection.
840 depends on $(cc-option,-mrecord-mcount)
863 tracing_map is a special-purpose lock-free map for tracing,
864 separated out as a stand-alone facility in order to allow it
875 Synthetic events are user-defined trace events that can be
879 by way of an in-kernel API.
882 Documentation/trace/histogram.rst for details and examples.
891 User trace events are user-defined trace events that
912 reading a debugfs/tracefs file. They're useful for
914 event activity as an initial guide for further investigation
917 Inter-event tracing of quantities such as latencies is also
927 Allow user-space to inject a specific trace event into the ring
928 buffer. This is mainly used for testing purpose.
969 a producer and consumer that will run for 10 seconds and sleep for
979 bool "Show eval mappings for trace events"
983 instead of their values. This can cause problems for user space tools
994 This option is for debugging the conversions. A file is created
1001 they are needed for the "eval_map" file. Enabling this option will
1062 Enable GCOV profiling on ftrace subsystem for checking
1099 with the event enabled. This adds a bit more time for kernel boot
1102 TBD - enable a way to actually call the syscalls as we test their
1111 where the ftrace knows where to patch functions for tracing
1113 is not done correctly, it will cause non-deterministic failures.
1132 The test runs for 10 seconds. This will slow your boot time
1147 buffer to make sure that all the time deltas for the
1149 This audit is performed for every event that is not
1163 tristate "Test module for mmiotrace"
1166 This is a dumb module for testing mmiotrace. It is very dangerous
1178 configurable delay. The module busy waits for the duration of the
1181 For example, the following invocation generates a burst of three
1182 irq-disabled critical sections for 500us:
1192 tristate "Test module for in-kernel synthetic event generation"
1196 functionality of in-kernel synthetic event definition and
1200 for the generated sample events.
1205 tristate "Test module for in-kernel kprobe event generation"
1209 functionality of in-kernel kprobe event definition.
1212 for the generated kprobe events.
1220 Add "hist_debug" file for each event, which when read will
1226 - Helps developers verify that nothing is broken.
1228 - Provides educational information to support the details
1230 Documentation/trace/histogram-design.rst.