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>,
Crystal Wood <crwood@redhat.com>,
Tomas Glozar <tglozar@redhat.com>
Subject: [GIT PULL] tracing tools: RTLA updates for 7.2
Date: Mon, 15 Jun 2026 16:25:15 -0400 [thread overview]
Message-ID: <20260615162515.625f903d@fedora> (raw)
Linus,
RTLA patches for v7.2
- Fix discrepancy in --dump-tasks option
Due to a mistake, rtla-timerlat-hist used the CLI syntax "--dump-task"
instead of the documented "--dump-tasks". Change the option to match
both documentation and the other timerlat tool, rtla-timerlat-top.
- Extend coverage of runtime tests
Cover both top and hist tools in all applicable test cases, add tests
for a few uncovered options, and extend checks for some existing tests.
- Add unit tests for actions
rtla's actions feature is implemented in its source file and contains
non-trivial parsing logic. Cover it with unit tests.
- Stop record trace on interrupt
Fix a bug where an interval exists after receiving a signal in which
the main instance is stopped but the record instance is not, leading to
discrepancies in reported results and sometimes rtla hanging.
- Restore continue flag in actions_perform()
Fix a bug where rtla always continues tracing after hitting a threshold
even if the continue action was triggered just once, and add tests
verifying that the flag is reset properly.
- Migrate command line interface to libsubcmd
Replace rtla's argument parsing using getopt_long() with libsubcmd, used
by perf and objtool, to reuse existing code and auto-generate better
help messages. Extensive unit tests are included to detect regressions.
- Add -A/--aligned option to timerlat tools
Add an option to align timerlat threads, based on the recently
introduced TIMERLAT_ALIGN option of the timerlat tracer, together with
unit tests and documentation.
- Document tests in README
Document how to run unit and runtime tests in rtla's README.txt,
including the dependencies needed to run them.
Please pull the latest trace-tools-v7.2 tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace-tools-v7.2
Tag SHA1: 4e96ba036db7ca92976274e0d3e6f35e4288f3db
Head SHA1: db956bcf8d681b5a01ebe04c79f6a7b29b9934f9
Costa Shulyupin (1):
tools/rtla: Fix --dump-tasks usage in timerlat
Crystal Wood (1):
rtla: Stop the record trace on interrupt
Tomas Glozar (24):
rtla/tests: Cover both top and hist tools where possible
rtla/tests: Add get_workload_pids() helper
rtla/tests: Check -c/--cpus thread affinity
rtla/tests: Use negative match when testing --aa-only
rtla/tests: Extend timerlat top --aa-only coverage
rtla/tests: Cover all hist options in runtime tests
rtla/tests: Add runtime test for -H/--house-keeping
rtla/tests: Add runtime test for -k and -u options
rtla/tests: Add runtime tests for -C/--cgroup
rtla/tests: Add unit tests for actions module
rtla/actions: Restore continue flag in actions_perform()
rtla/tests: Add unit test for restoring continue flag
rtla/tests: Run runtime tests in temporary directory
rtla/tests: Add runtime tests for restoring continue flag
rtla: Add libsubcmd dependency
tools subcmd: support optarg as separate argument
tools subcmd: allow parsing distinct --opt and --no-opt
rtla: Parse cmdline using libsubcmd
rtla/tests: Add unit tests for _parse_args() functions
rtla/tests: Add unit tests for CLI option callbacks
rtla/timerlat: Add -A/--aligned CLI option
rtla/tests: Add unit tests for -A/--aligned option
Documentation/rtla: Add -A/--aligned option
rtla: Document tests in README
----
Documentation/tools/rtla/common_appendix.txt | 7 +-
.../tools/rtla/common_timerlat_options.txt | 11 +
tools/lib/subcmd/parse-options.c | 63 +-
tools/lib/subcmd/parse-options.h | 4 +
tools/tracing/rtla/.gitignore | 3 +
tools/tracing/rtla/Makefile | 66 +-
tools/tracing/rtla/README.txt | 30 +
tools/tracing/rtla/src/Build | 2 +-
tools/tracing/rtla/src/actions.c | 2 +
tools/tracing/rtla/src/cli.c | 539 +++++++++++++++
tools/tracing/rtla/src/cli.h | 9 +
tools/tracing/rtla/src/cli_p.h | 687 ++++++++++++++++++++
tools/tracing/rtla/src/common.c | 128 +---
tools/tracing/rtla/src/common.h | 36 +-
tools/tracing/rtla/src/osnoise.c | 158 ++++-
tools/tracing/rtla/src/osnoise.h | 6 +
tools/tracing/rtla/src/osnoise_hist.c | 221 +------
tools/tracing/rtla/src/osnoise_top.c | 200 +-----
tools/tracing/rtla/src/rtla.c | 89 ---
tools/tracing/rtla/src/timerlat.c | 29 +-
tools/tracing/rtla/src/timerlat.h | 8 +-
tools/tracing/rtla/src/timerlat_hist.c | 317 +--------
tools/tracing/rtla/src/timerlat_top.c | 285 +-------
tools/tracing/rtla/src/utils.c | 28 +-
tools/tracing/rtla/src/utils.h | 9 +-
tools/tracing/rtla/tests/engine.sh | 27 +
tools/tracing/rtla/tests/hwnoise.t | 2 +-
tools/tracing/rtla/tests/osnoise.t | 77 ++-
.../rtla/tests/scripts/check-cgroup-match.sh | 17 +
tools/tracing/rtla/tests/scripts/check-cpus.sh | 9 +
.../rtla/tests/scripts/check-housekeeping-cpus.sh | 4 +
tools/tracing/rtla/tests/scripts/check-priority.sh | 8 +-
.../tests/scripts/check-user-kernel-threads.sh | 16 +
.../rtla/tests/scripts/lib/get_workload_pids.sh | 11 +
tools/tracing/rtla/tests/timerlat.t | 117 ++--
tools/tracing/rtla/tests/unit/Build | 8 +-
tools/tracing/rtla/tests/unit/Makefile.unit | 6 +-
tools/tracing/rtla/tests/unit/actions.c | 393 +++++++++++
tools/tracing/rtla/tests/unit/cli_opt_callback.c | 716 ++++++++++++++++++++
tools/tracing/rtla/tests/unit/cli_params_assert.h | 68 ++
tools/tracing/rtla/tests/unit/osnoise_hist_cli.c | 557 ++++++++++++++++
tools/tracing/rtla/tests/unit/osnoise_top_cli.c | 503 ++++++++++++++
tools/tracing/rtla/tests/unit/timerlat_hist_cli.c | 722 +++++++++++++++++++++
tools/tracing/rtla/tests/unit/timerlat_top_cli.c | 654 +++++++++++++++++++
tools/tracing/rtla/tests/unit/unit_tests.c | 120 +---
tools/tracing/rtla/tests/unit/utils.c | 106 +++
46 files changed, 5591 insertions(+), 1487 deletions(-)
create mode 100644 tools/tracing/rtla/src/cli.c
create mode 100644 tools/tracing/rtla/src/cli.h
create mode 100644 tools/tracing/rtla/src/cli_p.h
delete mode 100644 tools/tracing/rtla/src/rtla.c
create mode 100755 tools/tracing/rtla/tests/scripts/check-cgroup-match.sh
create mode 100755 tools/tracing/rtla/tests/scripts/check-cpus.sh
create mode 100755 tools/tracing/rtla/tests/scripts/check-housekeeping-cpus.sh
create mode 100755 tools/tracing/rtla/tests/scripts/check-user-kernel-threads.sh
create mode 100644 tools/tracing/rtla/tests/scripts/lib/get_workload_pids.sh
create mode 100644 tools/tracing/rtla/tests/unit/actions.c
create mode 100644 tools/tracing/rtla/tests/unit/cli_opt_callback.c
create mode 100644 tools/tracing/rtla/tests/unit/cli_params_assert.h
create mode 100644 tools/tracing/rtla/tests/unit/osnoise_hist_cli.c
create mode 100644 tools/tracing/rtla/tests/unit/osnoise_top_cli.c
create mode 100644 tools/tracing/rtla/tests/unit/timerlat_hist_cli.c
create mode 100644 tools/tracing/rtla/tests/unit/timerlat_top_cli.c
create mode 100644 tools/tracing/rtla/tests/unit/utils.c
---------------------------
reply other threads:[~2026-06-15 20:25 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20260615162515.625f903d@fedora \
--to=rostedt@goodmis.org \
--cc=costa.shul@redhat.com \
--cc=crwood@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglozar@redhat.com \
--cc=torvalds@linux-foundation.org \
/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