From: Steven Rostedt <rostedt@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: Tomas Glozar <tglozar@redhat.com>, John Kacur <jkacur@redhat.com>
Subject: [for-next][PATCH 00/16] rtla: Updates for v6.19
Date: Thu, 20 Nov 2025 18:23:23 -0500 [thread overview]
Message-ID: <20251120232323.271532418@kernel.org> (raw)
Fixes and minor cleanups for RTLA for v6.19:
- Add for_each_monitored_cpu() helper
In multiple places, RTLA tools iterate over the list of CPUs running
tracer threads.
Use single helper instead of repeating the for/if combination.
- Remove unused variable option_index in argument parsing
RTLA tools use getopt_long() for argument parsing. For its last
argument, an unused variable "option_index" is passed.
Remove the variable and pass NULL to getopt_long() to shorten
the naturally long parsing functions, and make them more readable.
- Fix unassigned nr_cpus after code consolidation
In recent code consolidation, timerlat tool cleanup, previously
implemented separately for each tool, was moved to a common function
timerlat_free().
The cleanup relies on nr_cpus being set. This was not done in the new
function, leaving the variable uninitialized.
Initialize the variable properly, and remove silencing of compiler
warning for uninitialized variables.
- Stop tracing on user latency in BPF mode
Despite the name, rtla-timerlat's -T/--thread option sets timerlat's
stop_tracing_total_us option, which also stops tracing on
return-from-user latency, not only on thread latency.
Implement the same behavior also in BPF sample collection stop tracing
handler to avoid a discrepancy and restore correspondence of behavior
with the equivalent option of cyclictest.
- Fix threshold actions always triggering
A bug in threshold action logic caused the action to execute even
if tracing did not stop because of threshold.
Fix the logic to stop correctly.
- Fix few minor issues in tests
Extend tests that were shown to need it to 5s, fix osnoise test
calling timerlat by mistake, and use new, more reliable output
checking in timerlat's "top stop at failed action" test.
- Do not print usage on argument parsing error
RTLA prints the entire usage message on encountering errors in
argument parsing, like a malformed CPU list.
The usage message has gotten too long. Instead of printing it,
use newly added fatal() helper function to simply exit with
the error message, excluding the usage.
- Fix unintuitive -C/--cgroup interface
"-C cgroup" and "--cgroup cgroup" are invalid syntax, despite that
being a common way to specify an option with argument. Moreover,
using them fails silently and no cgroup is set.
Create new helper function to unify the handling of all such options
and allow all of:
-Xsomething
-X=something
-X something
as well as the equivalent for the long option.
- Fix -a overriding -t argument filename
Fix a bug where -a following -t custom_file.txt overrides the custom
filename with the default timerlat_trace.txt.
- Stop tracing correctly on multiple events at once
In some race scenarios, RTLA BPF sample collection might send multiple
stop tracing events via the BPF ringbuffer at once.
Compare the number of events for != 0 instead of == 1 to cover for
this scenario and stop tracing properly.
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
tools/for-next
Head SHA1: 368434d20d021aac8071bd08b1a471c588ce9ccd
Costa Shulyupin (8):
tools/rtla: Add for_each_monitored_cpu() helper
tools/rtla: Remove unused optional option_index
tools/rtla: Fix unassigned nr_cpus
tools/rtla: Add fatal() and replace error handling pattern
tools/rtla: Replace timerlat_top_usage("...") with fatal("...")
tools/rtla: Replace timerlat_hist_usage("...") with fatal("...")
tools/rtla: Replace osnoise_top_usage("...") with fatal("...")
tools/rtla: Replace osnoise_hist_usage("...") with fatal("...")
Crystal Wood (2):
rtla/tests: Don't rely on matching ^1ALL
rtla/timerlat: Exit top main loop on any non-zero wait_retval
Ivan Pravdin (2):
rtla: Fix -C/--cgroup interface
rtla: Fix -a overriding -t argument
Tomas Glozar (4):
rtla/timerlat_bpf: Stop tracing on user latency
tools/rtla: Fix --on-threshold always triggering
rtla/tests: Extend action tests to 5s
rtla/tests: Fix osnoise test calling timerlat
----
Documentation/tools/rtla/common_options.rst | 2 +-
tools/tracing/rtla/Makefile.rtla | 2 +-
tools/tracing/rtla/src/common.c | 24 +++--
tools/tracing/rtla/src/common.h | 4 +
tools/tracing/rtla/src/osnoise_hist.c | 136 +++++++++----------------
tools/tracing/rtla/src/osnoise_top.c | 106 +++++++-------------
tools/tracing/rtla/src/timerlat.bpf.c | 3 +
tools/tracing/rtla/src/timerlat.c | 12 +--
tools/tracing/rtla/src/timerlat_hist.c | 148 +++++++++-------------------
tools/tracing/rtla/src/timerlat_top.c | 116 ++++++++--------------
tools/tracing/rtla/src/timerlat_u.c | 12 +--
tools/tracing/rtla/src/utils.c | 41 ++++++++
tools/tracing/rtla/src/utils.h | 2 +
tools/tracing/rtla/tests/osnoise.t | 6 +-
tools/tracing/rtla/tests/timerlat.t | 6 +-
15 files changed, 247 insertions(+), 373 deletions(-)
next reply other threads:[~2025-11-20 23:26 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-20 23:23 Steven Rostedt [this message]
2025-11-20 23:23 ` [for-next][PATCH 01/16] tools/rtla: Add for_each_monitored_cpu() helper Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 02/16] tools/rtla: Remove unused optional option_index Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 03/16] tools/rtla: Fix unassigned nr_cpus Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 04/16] rtla/timerlat_bpf: Stop tracing on user latency Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 05/16] tools/rtla: Fix --on-threshold always triggering Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 06/16] rtla/tests: Extend action tests to 5s Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 07/16] rtla/tests: Fix osnoise test calling timerlat Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 08/16] tools/rtla: Add fatal() and replace error handling pattern Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 09/16] tools/rtla: Replace timerlat_top_usage("...") with fatal("...") Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 10/16] tools/rtla: Replace timerlat_hist_usage("...") " Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 11/16] tools/rtla: Replace osnoise_top_usage("...") " Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 12/16] tools/rtla: Replace osnoise_hist_usage("...") " Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 13/16] rtla: Fix -C/--cgroup interface Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 14/16] rtla: Fix -a overriding -t argument Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 15/16] rtla/tests: Dont rely on matching ^1ALL Steven Rostedt
2025-11-20 23:23 ` [for-next][PATCH 16/16] rtla/timerlat: Exit top main loop on any non-zero wait_retval Steven Rostedt
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=20251120232323.271532418@kernel.org \
--to=rostedt@kernel.org \
--cc=jkacur@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglozar@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.