The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [GIT PULL] tracing tools: RTLA updates for 7.2
@ 2026-06-15 20:25 Steven Rostedt
  2026-06-16  6:48 ` Tomas Glozar
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Steven Rostedt @ 2026-06-15 20:25 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: LKML, Costa Shulyupin, Crystal Wood, Tomas Glozar


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
---------------------------

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT PULL] tracing tools: RTLA updates for 7.2
  2026-06-15 20:25 [GIT PULL] tracing tools: RTLA updates for 7.2 Steven Rostedt
@ 2026-06-16  6:48 ` Tomas Glozar
  2026-06-16 21:22   ` Steven Rostedt
  2026-06-16 12:35 ` Linus Torvalds
  2026-06-16 12:36 ` pr-tracker-bot
  2 siblings, 1 reply; 6+ messages in thread
From: Tomas Glozar @ 2026-06-16  6:48 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: Linus Torvalds, LKML, Costa Shulyupin, Crystal Wood

Hi Steven,

po 15. 6. 2026 v 22:25 odesílatel Steven Rostedt <rostedt@goodmis.org> napsal:
>
>
> 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
>

It appears that you missed my second pull request [1] with two fixes
of issues that slipped through into the first one. Should I name it
differently, or perhaps ping you about it earlier (e.g. if you don't
pick it before the merge window) next time? (I did not do so, because
I thought you just did not push tools/for-next yet and will do so when
doing the 7.2 tag.)

[1] https://lore.kernel.org/linux-trace-kernel/20260605140209.101548-1-tglozar@redhat.com/



Tomas


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT PULL] tracing tools: RTLA updates for 7.2
  2026-06-15 20:25 [GIT PULL] tracing tools: RTLA updates for 7.2 Steven Rostedt
  2026-06-16  6:48 ` Tomas Glozar
@ 2026-06-16 12:35 ` Linus Torvalds
  2026-06-16 21:15   ` Steven Rostedt
  2026-06-16 12:36 ` pr-tracker-bot
  2 siblings, 1 reply; 6+ messages in thread
From: Linus Torvalds @ 2026-06-16 12:35 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: LKML, Costa Shulyupin, Crystal Wood, Tomas Glozar

On Tue, 16 Jun 2026 at 01:55, Steven Rostedt <rostedt@goodmis.org> wrote:
>
> - Migrate command line interface to libsubcmd

I'm assuming the annoying conflicts - that you didn't mention - with
commit e9e41d303503 ("rtla: Fix parsing of multi-character short
options") are just "take the new code".

Becasue that's what I did. While swearing over the pointlessness of this all.

             Linus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT PULL] tracing tools: RTLA updates for 7.2
  2026-06-15 20:25 [GIT PULL] tracing tools: RTLA updates for 7.2 Steven Rostedt
  2026-06-16  6:48 ` Tomas Glozar
  2026-06-16 12:35 ` Linus Torvalds
@ 2026-06-16 12:36 ` pr-tracker-bot
  2 siblings, 0 replies; 6+ messages in thread
From: pr-tracker-bot @ 2026-06-16 12:36 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Linus Torvalds, LKML, Costa Shulyupin, Crystal Wood, Tomas Glozar

The pull request you sent on Mon, 15 Jun 2026 16:25:15 -0400:

> git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git trace-tools-v7.2

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/6b5a2b7d9bc156e505f09e698d85d6a1547c1206

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT PULL] tracing tools: RTLA updates for 7.2
  2026-06-16 12:35 ` Linus Torvalds
@ 2026-06-16 21:15   ` Steven Rostedt
  0 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2026-06-16 21:15 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: LKML, Costa Shulyupin, Crystal Wood, Tomas Glozar

On Tue, 16 Jun 2026 18:05:03 +0530
Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Tue, 16 Jun 2026 at 01:55, Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > - Migrate command line interface to libsubcmd  
> 
> I'm assuming the annoying conflicts - that you didn't mention - with
> commit e9e41d303503 ("rtla: Fix parsing of multi-character short
> options") are just "take the new code".
> 
> Becasue that's what I did. While swearing over the pointlessness of this all.

Sorry about that :-(  Unfortunately you opened the merge window while
I'm starting my new job, and I'm currently in London doing the
orientation all day for the the next two weeks. I only have a couple
hours a day to do upstream work while I'm here. I usually merge the
code into your branch to check for conflicts before sending them but I
don't usually do that for the tooling branch.

This conflict was reported by linux-next, but I simply forgot about it. :-(

-- Steve


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GIT PULL] tracing tools: RTLA updates for 7.2
  2026-06-16  6:48 ` Tomas Glozar
@ 2026-06-16 21:22   ` Steven Rostedt
  0 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2026-06-16 21:22 UTC (permalink / raw)
  To: Tomas Glozar; +Cc: Linus Torvalds, LKML, Costa Shulyupin, Crystal Wood

On Tue, 16 Jun 2026 08:48:11 +0200
Tomas Glozar <tglozar@redhat.com> wrote:


> It appears that you missed my second pull request [1] with two fixes
> of issues that slipped through into the first one. Should I name it
> differently, or perhaps ping you about it earlier (e.g. if you don't
> pick it before the merge window) next time? (I did not do so, because
> I thought you just did not push tools/for-next yet and will do so when
> doing the 7.2 tag.)
> 
> [1] https://lore.kernel.org/linux-trace-kernel/20260605140209.101548-1-tglozar@redhat.com/

Sorry, I completely missed this due to being on vacation and then
getting ready for my next trip.

Can you rebase on the commit that Linus pulled your commits in:

  6b5a2b7d9bc156e505f09e698d85d6a1547c1206
  
So that it has the merge conflicts solved.

Thanks,

-- Steve

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-06-16 21:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-15 20:25 [GIT PULL] tracing tools: RTLA updates for 7.2 Steven Rostedt
2026-06-16  6:48 ` Tomas Glozar
2026-06-16 21:22   ` Steven Rostedt
2026-06-16 12:35 ` Linus Torvalds
2026-06-16 21:15   ` Steven Rostedt
2026-06-16 12:36 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox