Centos-kernel-stream-9/kernel/trace
Augusto Caringi b65573c720 Merge: rtla: Add timerlat BPF sample collection, Set all tracer options by default [rhel-9]
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/6686

# Merge Request Required Information

JIRA: https://issues.redhat.com/browse/RHEL-77358
JIRA: https://issues.redhat.com/browse/RHEL-86051

## Summary of Changes

Two upstream patchsets are contained in this merge request:

* Collect timerlat samples using a BPF program instead of pulling them through a tracefs pipe. This helps with both performance and CPU usage, and fixes an issue where on systems with \>100 CPUs, rtla cannot keep up with timerlat samples and drops most of them, making it useless.
* Always set default values of all tracer options (osnoise or timerlat) if not specified otherwise, as they might be set to unexpected values either by another user of the tracers or by a previous abnormally exited run of rtla.

Those are combined into a single MR, because the latter depends on a refactoring done in the former. A dependency (rtla test suite) is also pulled.

## Approved Development Ticket(s)
All submissions to CentOS Stream must reference a ticket in [Red Hat Jira](https://issues.redhat.com/).

<details><summary>Click for formatting instructions</summary>
Please follow the CentOS Stream [contribution documentation](https://docs.centos.org/en-US/stream-contrib/quickstart/) for how to file this ticket and have it approved.

Signed-off-by: Tomas Glozar <tglozar@redhat.com>

List tickets each on their own line of this description using the format "Resolves: RHEL-76229", "Related: RHEL-76229" or "Reverts: RHEL-76229", as appropriate.
</details>

Approved-by: Wander Lairson Costa <wander@redhat.com>
Approved-by: John Kacur <jkacur@redhat.com>
Approved-by: Gabriele Monaco <gmonaco@redhat.com>
Approved-by: Derek Barbosa <debarbos@redhat.com>
Approved-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: Augusto Caringi <acaringi@redhat.com>
2025-04-24 12:23:18 -03:00
..
rv rv: Remove redundant assignment to variable retval 2023-11-13 16:11:04 -05:00
Kconfig ftrace: Have architectures opt-in for mcount build time sorting 2024-06-17 14:17:12 -04:00
Makefile
blktrace.c blktrace: remove redundant return at end of function 2025-03-14 16:48:33 +08:00
bpf_trace.c bpf,perf: Fix invalid prog_array access in perf_event_detach_bpf_prog 2025-01-21 11:27:09 +01:00
bpf_trace.h
error_report-traces.c
fgraph.c ftrace/fgraph: fix increased missing-prototypes warnings 2024-03-20 09:42:37 -04:00
fprobe.c fprobe: Pass return address to the handlers 2024-10-25 09:07:32 +02:00
ftrace.c kallsyms: Delete an unused parameter related to {module_}kallsyms_on_each_symbol() 2024-06-17 14:17:23 -04:00
ftrace_internal.h
kprobe_event_gen_test.c
power-traces.c
preemptirq_delay_test.c minmax: make generic MIN() and MAX() macros available everywhere 2024-11-18 10:30:14 -03:00
rethook.c fprobe: Pass return address to the handlers 2024-10-25 09:07:32 +02:00
ring_buffer.c x86/bugs: Rename CONFIG_RETPOLINE => CONFIG_MITIGATION_RETPOLINE 2024-07-26 14:33:35 -04:00
ring_buffer_benchmark.c
rpm-traces.c
synth_event_gen_test.c
trace.c seq_buf: Introduce DECLARE_SEQ_BUF and seq_buf_str() 2024-12-17 22:59:20 +01:00
trace.h
trace_benchmark.c
trace_benchmark.h
trace_boot.c tracing/boot: Fix to check the histogram control param is a leaf node 2024-11-06 14:49:51 -05:00
trace_branch.c
trace_clock.c
trace_dynevent.c tracing: Free buffers when a used dynamic event is removed 2024-10-22 11:40:13 +00:00
trace_dynevent.h
trace_entries.h
trace_event_perf.c
trace_events.c tracing: Free buffers when a used dynamic event is removed 2024-10-22 11:40:13 +00:00
trace_events_filter.c
trace_events_filter_test.h
trace_events_hist.c Merge: tracing: Add division and multiplication support for hist triggers [rhel-9] 2025-03-31 16:55:04 -03:00
trace_events_inject.c
trace_events_synth.c
trace_events_trigger.c tracing/trigger: Fix to return error if failed to alloc snapshot 2024-07-01 12:28:22 +02:00
trace_export.c
trace_functions.c
trace_functions_graph.c
trace_hwlat.c tracing: Remove extra space at the end of hwlat_detector/mode 2025-01-17 12:49:06 -03:00
trace_irqsoff.c
trace_kdb.c
trace_kprobe.c bpf: Add missed value to kprobe perf link info 2024-03-27 11:23:41 +01:00
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_mmiotrace.c
trace_nop.c
trace_osnoise.c trace/osnoise: Add trace events for samples 2025-04-04 11:14:44 +02:00
trace_output.c tracing/timerlat: Add user-space interface 2023-12-05 20:53:20 +00:00
trace_output.h
trace_preemptirq.c cpuidle: tracing, preempt: Squash _rcuidle tracing 2024-01-12 14:35:43 +01:00
trace_printk.c
trace_probe.c bitops: make BYTES_TO_BITS() treewide-available 2024-11-26 14:39:54 +01:00
trace_probe.h bpf: Add support for bpf_get_func_ip helper for uprobe program 2023-12-15 09:28:56 +01:00
trace_probe_tmpl.h
trace_recursion_record.c
trace_sched_switch.c
trace_sched_wakeup.c
trace_selftest.c ftrace: selftest: remove broken trace_direct_tramp 2024-03-20 09:43:00 -04:00
trace_selftest_dynamic.c
trace_seq.c tracing: Acquire buffer from temparary trace sequence 2023-10-27 11:00:46 -03:00
trace_stack.c
trace_stat.c
trace_stat.h
trace_synth.h
trace_syscalls.c bpf: Use fake pt_regs when doing bpf syscall tracepoint tracing 2025-01-21 11:27:06 +01:00
trace_uprobe.c uprobe: avoid out-of-bounds memory access of fetching args 2024-11-07 16:50:53 +01:00
tracing_map.c tracing: Ensure visibility when inserting an element into tracing_map 2024-07-08 11:27:06 +02:00
tracing_map.h