[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20260107171724.217028-1-tglozar@redhat.com>
Date: Wed, 7 Jan 2026 18:17:24 +0100
From: Tomas Glozar <tglozar@...hat.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Costa Shulyupin <costa.shul@...hat.com>,
Crystal Wood <crwood@...hat.com>,
Wander Lairson Costa <wander@...hat.com>,
LKML <linux-kernel@...r.kernel.org>,
Linux Trace Kernel <linux-trace-kernel@...r.kernel.org>,
Tomas Glozar <tglozar@...hat.com>
Subject: [GIT PULL] RTLA changes for v6.20
Steven,
please pull the following changes for RTLA (more info in tag description).
Thanks,
Tomas
The following changes since commit 9ace4753a5202b02191d54e9fdf7f9e3d02b85eb:
Linux 6.19-rc4 (2026-01-04 14:41:55 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tglozar/linux.git tags/rtla-v6.20
for you to fetch changes up to fb8b8183208d8efe824e8d2c73fb1ab5ad1191fd:
rtla: Fix parse_cpu_set() return value documentation (2026-01-07 15:57:56 +0100)
----------------------------------------------------------------
RTLA patches for v6.20
- Remove unused function declarations
Some functions were removed in recent code consolidation 6.18, but
their prototypes were not removed from headers. Remove them.
- Set stop threshold after enabling instances
Prefer recording samples without stopping on them on the start of
tracing to stopping on samples that are never recorded. This fixes
flakiness of some RTLA tests and unifies behavior of sample collection
between tracefs mode and BPF mode.
- Consolidate usage help message implementation
RTLA tools (osnoise-top, osnoise-hist, timerlat-top, timerlat-hist)
each implement usage help individually. Move common logic between
them into a new function to reduce code duplication.
- Add BPF actions feature
Add option --bpf-action to attach a BPF program (passed as filename of
its ELF representation) to be executed via BPF tail call at latency
threshold.
- Consolidate command line option parsing
Each RTLA tool implements the parsing of command line options
individually. Now that we have a common structure for parameters,
unify the parsing of those options common among all four tools into
one function.
- Deduplicage cgroup common code
Two functions in utils.c, setting cgroup for comm and setting cgroup
for pid, duplicate code for constructing the cgroup path. Extract it
to a new helper function.
- String and error handling fixes and cleanups
There were several instances of unsafe string and error handling that
could cause invalid memory access; fix them. Also, remove a few unused
headers, update .gitignore, and deduplicate code.
The tag was tested (make && make check) as well as pre-tested on top of
next-20260107. There are no known conflicts.
Signed-off-by: Tomas Glozar <tglozar@...hat.com>
----------------------------------------------------------------
Costa Shulyupin (11):
tools/rtla: Remove unused function declarations
tools/rtla: Add common_usage()
tools/rtla: Add common_parse_options()
tools/rtla: Consolidate -c/--cpus option parsing
tools/rtla: Consolidate -C/--cgroup option parsing
tools/rtla: Consolidate -D/--debug option parsing
tools/rtla: Consolidate -d/--duration option parsing
tools/rtla: Consolidate -e/--event option parsing
tools/rtla: Consolidate -P/--priority option parsing
tools/rtla: Consolidate -H/--house-keeping option parsing
tools/rtla: Deduplicate cgroup path opening code
Crystal Wood (1):
rtla: Set stop threshold after all instances are enabled
Tomas Glozar (7):
rtla/timerlat: Support tail call from BPF program
rtla/timerlat: Add --bpf-action option
rtla/timerlat: Add example for BPF action program
rtla/tests: Test BPF action program
rtla/tests: Run Test::Harness in verbose mode
Documentation/rtla: Rename sample/ to example/
Documentation/rtla: Document --bpf-action option
Wander Lairson Costa (10):
rtla: Introduce for_each_action() helper
rtla: Replace atoi() with a robust strtoi()
rtla: Use standard exit codes for result enum
rtla: Remove redundant memset after calloc
rtla: Remove unused headers
rtla: Fix NULL pointer dereference in actions_parse
rtla: Add generated output files to gitignore
rtla: Make stop_tracing variable volatile
rtla: Ensure null termination after read operations in utils.c
rtla: Fix parse_cpu_set() return value documentation
.../tools/rtla/common_timerlat_options.txt | 20 ++-
tools/tracing/rtla/.gitignore | 4 +
tools/tracing/rtla/Makefile | 19 ++-
tools/tracing/rtla/example/timerlat_bpf_action.c | 16 +++
.../rtla/{sample => example}/timerlat_load.py | 0
tools/tracing/rtla/src/actions.c | 17 +--
tools/tracing/rtla/src/actions.h | 5 +
tools/tracing/rtla/src/common.c | 140 ++++++++++++++++++++-
tools/tracing/rtla/src/common.h | 10 +-
tools/tracing/rtla/src/osnoise.c | 17 +--
tools/tracing/rtla/src/osnoise.h | 8 --
tools/tracing/rtla/src/osnoise_hist.c | 76 ++---------
tools/tracing/rtla/src/osnoise_top.c | 90 +++----------
tools/tracing/rtla/src/timerlat.bpf.c | 25 +++-
tools/tracing/rtla/src/timerlat.c | 29 ++---
tools/tracing/rtla/src/timerlat.h | 2 +-
tools/tracing/rtla/src/timerlat_bpf.c | 66 ++++++++++
tools/tracing/rtla/src/timerlat_bpf.h | 7 +-
tools/tracing/rtla/src/timerlat_hist.c | 80 +++---------
tools/tracing/rtla/src/timerlat_top.c | 80 +++---------
tools/tracing/rtla/src/trace.c | 1 -
tools/tracing/rtla/src/utils.c | 110 ++++++++++------
tools/tracing/rtla/src/utils.h | 10 +-
tools/tracing/rtla/tests/bpf/bpf_action_map.c | 25 ++++
tools/tracing/rtla/tests/engine.sh | 1 -
tools/tracing/rtla/tests/timerlat.t | 15 +++
26 files changed, 513 insertions(+), 360 deletions(-)
create mode 100644 tools/tracing/rtla/example/timerlat_bpf_action.c
rename tools/tracing/rtla/{sample => example}/timerlat_load.py (100%)
create mode 100644 tools/tracing/rtla/tests/bpf/bpf_action_map.c
Powered by blists - more mailing lists