From: Steven Rostedt <rostedt@goodmis.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
Costa Shulyupin <costa.shul@redhat.com>,
Tomas Glozar <tglozar@redhat.com>,
Wander Lairson Costa <wander@redhat.com>,
John Kacur <jkacur@redhat.com>
Subject: [GIT PULL] RTLA: Updates for v7.1
Date: Tue, 14 Apr 2026 07:43:31 -0400 [thread overview]
Message-ID: <20260414074331.235cfd51@robin> (raw)
Linus,
RTLA patches for v7.1:
- Simplify option parsing
Auto-generate getopt_long() optstring for short options from long options
array, avoiding the need to specify it manually and reducing the surface for
mistakes.
- Add unit tests
Implement unit tests (make unit-tests) using libcheck, next to existing
runtime tests (make check). Currently, three functions from utils.c are
tested.
- Add --stack-format option
In addition to stopping stack pointer decoding (with -s/--stack option)
on first unresolvable pointer, allow also skipping unresolvable pointers
and displaying everything, configurable with a new option.
- Unify number of CPUs into one global variable
Use one global variable, nr_cpus, to store the number of CPUs instead of
retrieving it and passing it at multiple places.
- Fix behavior in various corner cases
Make RTLA behave correctly in several corner cases: memory allocation
failure, invalid value read from kernel side, thread creation failure,
malformed time value input, and read/write failure or interruption by
signal.
- Improve string handling
Simplify several places in the code that handle strings, including
parsing of action arguments. A few new helper functions and variables
are added for that purpose.
- Get rid of magic numbers
Few places handling paths use a magic number of 1024. Replace it with
MAX_PATH and ARRAY_SIZE() macro.
- Unify threshold handling
Code that handles response to latency threshold is duplicated between
tools, which has led to bugs in the past. Unify it into a new helper
as much as possible.
- Fix segfault on SIGINT during cleanup
The SIGINT handler touches dynamically allocated memory. Detach it
before freeing it during cleanup to prevent segmentation fault and
discarding of output buffers. Also, properly document SIGINT handling
while at it.
Please pull the latest trace-rtla-v7.1 tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace-rtla-v7.1
Tag SHA1: 343e92fa8fbda2301fa960efa535267358acc650
Head SHA1: 82374995b63d2de21414163828a32d52610dcaf2
Costa Shulyupin (7):
tools/rtla: Generate optstring from long options
tools/build: Add feature test for libcheck
tools/rtla: Add unit tests for utils.c
tools/rtla: Consolidate nr_cpus usage across all tools
tools/rtla: Remove unneeded nr_cpus arguments
tools/rtla: Remove unneeded nr_cpus members
tools/rtla: Remove unneeded nr_cpus from for_each_monitored_cpu
Tomas Glozar (4):
rtla/timerlat: Add --stack-format option
Documentation/rtla: Document --stack-format option
rtla: Fix segfault on multiple SIGINTs
Documentation/rtla: Document SIGINT behavior
Wander Lairson Costa (17):
rtla: Exit on memory allocation failures during initialization
rtla: Use strdup() to simplify code
rtla/actions: Simplify argument parsing
rtla: Introduce common_threshold_handler() helper
rtla: Replace magic number with MAX_PATH
rtla: Simplify code by caching string lengths
rtla/timerlat: Add bounds check for softirq vector
rtla: Handle pthread_create() failure properly
rtla: Add str_has_prefix() helper function
rtla: Use str_has_prefix() for prefix checks
rtla: Enforce exact match for time unit suffixes
rtla: Use str_has_prefix() for option prefix check
rtla/timerlat: Simplify RTLA_NO_BPF environment variable check
rtla/trace: Fix write loop in trace_event_save_hist()
rtla/trace: Fix I/O handling in save_trace_to_file()
rtla/utils: Fix resource leak in set_comm_sched_attr()
rtla/utils: Fix loop condition in PID validation
----
Documentation/tools/rtla/common_appendix.txt | 21 ++++
.../tools/rtla/common_timerlat_options.txt | 12 +++
tools/build/Makefile.feature | 3 +
tools/build/feature/Makefile | 4 +
tools/build/feature/test-libcheck.c | 8 ++
tools/tracing/rtla/Build | 1 +
tools/tracing/rtla/Makefile | 5 +
tools/tracing/rtla/Makefile.config | 8 ++
tools/tracing/rtla/README.txt | 1 +
tools/tracing/rtla/src/actions.c | 103 +++++++++++-------
tools/tracing/rtla/src/actions.h | 8 +-
tools/tracing/rtla/src/common.c | 120 +++++++++++++++++----
tools/tracing/rtla/src/common.h | 24 ++++-
tools/tracing/rtla/src/osnoise.c | 26 ++---
tools/tracing/rtla/src/osnoise_hist.c | 51 ++++-----
tools/tracing/rtla/src/osnoise_top.c | 41 ++-----
tools/tracing/rtla/src/timerlat.c | 16 ++-
tools/tracing/rtla/src/timerlat.h | 1 +
tools/tracing/rtla/src/timerlat_aa.c | 51 ++++++---
tools/tracing/rtla/src/timerlat_aa.h | 2 +-
tools/tracing/rtla/src/timerlat_bpf.c | 19 ++--
tools/tracing/rtla/src/timerlat_bpf.h | 12 +--
tools/tracing/rtla/src/timerlat_hist.c | 116 +++++++++-----------
tools/tracing/rtla/src/timerlat_top.c | 114 +++++++++-----------
tools/tracing/rtla/src/timerlat_u.c | 13 ++-
tools/tracing/rtla/src/timerlat_u.h | 1 +
tools/tracing/rtla/src/trace.c | 102 ++++++++++--------
tools/tracing/rtla/src/trace.h | 4 +-
tools/tracing/rtla/src/utils.c | 113 ++++++++++++++-----
tools/tracing/rtla/src/utils.h | 33 ++++++
tools/tracing/rtla/tests/unit/Build | 2 +
tools/tracing/rtla/tests/unit/Makefile.unit | 17 +++
tools/tracing/rtla/tests/unit/unit_tests.c | 119 ++++++++++++++++++++
33 files changed, 769 insertions(+), 402 deletions(-)
create mode 100644 tools/build/feature/test-libcheck.c
create mode 100644 tools/tracing/rtla/tests/unit/Build
create mode 100644 tools/tracing/rtla/tests/unit/Makefile.unit
create mode 100644 tools/tracing/rtla/tests/unit/unit_tests.c
---------------------------
next reply other threads:[~2026-04-14 11:43 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-14 11:43 Steven Rostedt [this message]
2026-04-16 0:51 ` [GIT PULL] RTLA: Updates for v7.1 pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260414074331.235cfd51@robin \
--to=rostedt@goodmis.org \
--cc=costa.shul@redhat.com \
--cc=jkacur@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglozar@redhat.com \
--cc=torvalds@linux-foundation.org \
--cc=wander@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox