<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/Documentation/tools/rtla, branch v7.0-rc7</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v7.0-rc7</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v7.0-rc7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-02-12T22:31:02+00:00</updated>
<entry>
<title>Merge tag 'trace-rtla-v7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace</title>
<updated>2026-02-12T22:31:02+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-02-12T22:31:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=582a1ef360a05bff4350bbf6e383f61d26b804f0'/>
<id>urn:sha1:582a1ef360a05bff4350bbf6e383f61d26b804f0</id>
<content type='text'>
Pull RTLA updates from Steven Rostedt:

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

 - De-duplicate 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.

* tag 'trace-rtla-v7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (30 commits)
  rtla: Fix parse_cpu_set() bug introduced by strtoi()
  rtla: Fix parse_cpu_set() return value documentation
  rtla: Ensure null termination after read operations in utils.c
  rtla: Make stop_tracing variable volatile
  rtla: Add generated output files to gitignore
  rtla: Fix NULL pointer dereference in actions_parse
  rtla: Remove unused headers
  rtla: Remove redundant memset after calloc
  rtla: Use standard exit codes for result enum
  rtla: Replace atoi() with a robust strtoi()
  rtla: Introduce for_each_action() helper
  tools/rtla: Deduplicate cgroup path opening code
  tools/rtla: Consolidate -H/--house-keeping option parsing
  tools/rtla: Consolidate -P/--priority option parsing
  tools/rtla: Consolidate -e/--event option parsing
  tools/rtla: Consolidate -d/--duration option parsing
  tools/rtla: Consolidate -D/--debug option parsing
  tools/rtla: Consolidate -C/--cgroup option parsing
  tools/rtla: Consolidate -c/--cpus option parsing
  tools/rtla: Add common_parse_options()
  ...
</content>
</entry>
<entry>
<title>Documentation: use a source-read extension for the index link boilerplate</title>
<updated>2026-01-23T18:59:34+00:00</updated>
<author>
<name>Jani Nikula</name>
<email>jani.nikula@intel.com</email>
</author>
<published>2026-01-23T14:31:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a592a36e49372172d7c7551ec19ed18184c935e1'/>
<id>urn:sha1:a592a36e49372172d7c7551ec19ed18184c935e1</id>
<content type='text'>
The root document usually has a special :ref:`genindex` link to the
generated index. This is also the case for Documentation/index.rst. The
other index.rst files deeper in the directory hierarchy usually don't.

For SPHINXDIRS builds, the root document isn't Documentation/index.rst,
but some other index.rst in the hierarchy. Currently they have a
".. only::" block to add the index link when doing SPHINXDIRS html
builds.

This is obviously very tedious and repetitive. The link is also added to
all index.rst files in the hierarchy for SPHINXDIRS builds, not just the
root document.

Put the boilerplate in a sphinx-includes/subproject-index.rst file, and
include it at the end of the root document for subproject builds in an
ad-hoc source-read extension defined in conf.py.

For now, keep having the boilerplate in translations, because this
approach currently doesn't cover translated index link headers.

Cc: Jonathan Corbet &lt;corbet@lwn.net&gt;
Cc: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
Cc: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Tested-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
Reviewed-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
[jc: did s/doctree/kern_doc_dir/ ]
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20260123143149.2024303-1-jani.nikula@intel.com&gt;
</content>
</entry>
<entry>
<title>Documentation/rtla: Document --bpf-action option</title>
<updated>2026-01-07T14:57:16+00:00</updated>
<author>
<name>Tomas Glozar</name>
<email>tglozar@redhat.com</email>
</author>
<published>2025-11-26T14:42:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=26e1a9bd4dd3c03336b608d8068f045d87c8ee6a'/>
<id>urn:sha1:26e1a9bd4dd3c03336b608d8068f045d87c8ee6a</id>
<content type='text'>
Add new option --bpf-action into common_timerlat_options.txt, including
the format in which it takes the BPF program, and a reference to an
example.

Link: https://lore.kernel.org/r/20251126144205.331954-8-tglozar@redhat.com
Signed-off-by: Tomas Glozar &lt;tglozar@redhat.com&gt;
</content>
</entry>
<entry>
<title>Documentation/rtla: Rename sample/ to example/</title>
<updated>2026-01-07T14:57:16+00:00</updated>
<author>
<name>Tomas Glozar</name>
<email>tglozar@redhat.com</email>
</author>
<published>2025-11-26T14:42:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6627556c16fb1122e71110f57a90a961589ad8bf'/>
<id>urn:sha1:6627556c16fb1122e71110f57a90a961589ad8bf</id>
<content type='text'>
The sample/ directory in tools/tracing/rtla was renamed to example/ in
an earlier commit.

Rename it also in the documentation.

Reviewed-by: Wander Lairson Costa &lt;wander@redhat.com&gt;
Link: https://lore.kernel.org/r/20251126144205.331954-7-tglozar@redhat.com
Signed-off-by: Tomas Glozar &lt;tglozar@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'trace-tools-v6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace</title>
<updated>2025-12-05T17:34:01+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2025-12-05T17:34:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5779de8d36ac5a0c929f276096a499b03ae0afa7'/>
<id>urn:sha1:5779de8d36ac5a0c929f276096a499b03ae0afa7</id>
<content type='text'>
Pull rtla trace tooling updates from Steven Rostedt:

 - Officially add Tomas Glozar as a maintainer to RTLA tool

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

* tag 'trace-tools-v6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  rtla/timerlat: Exit top main loop on any non-zero wait_retval
  rtla/tests: Don't rely on matching ^1ALL
  rtla: Fix -a overriding -t argument
  rtla: Fix -C/--cgroup interface
  tools/rtla: Replace osnoise_hist_usage("...") with fatal("...")
  tools/rtla: Replace osnoise_top_usage("...") with fatal("...")
  tools/rtla: Replace timerlat_hist_usage("...") with fatal("...")
  tools/rtla: Replace timerlat_top_usage("...") with fatal("...")
  tools/rtla: Add fatal() and replace error handling pattern
  rtla/tests: Fix osnoise test calling timerlat
  rtla/tests: Extend action tests to 5s
  tools/rtla: Fix --on-threshold always triggering
  rtla/timerlat_bpf: Stop tracing on user latency
  tools/rtla: Fix unassigned nr_cpus
  tools/rtla: Remove unused optional option_index
  tools/rtla: Add for_each_monitored_cpu() helper
  MAINTAINERS: Add Tomas Glozar as a maintainer to RTLA tool
</content>
</entry>
<entry>
<title>rtla: Fix -C/--cgroup interface</title>
<updated>2025-11-21T09:30:27+00:00</updated>
<author>
<name>Ivan Pravdin</name>
<email>ipravdin.official@gmail.com</email>
</author>
<published>2025-11-03T16:19:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7b71f3a6986c93defbb72bb6c143e04122720cb1'/>
<id>urn:sha1:7b71f3a6986c93defbb72bb6c143e04122720cb1</id>
<content type='text'>
Currently, user can only specify cgroup to the tracer's thread the
following ways:

    `-C[cgroup]`
    `-C[=cgroup]`
    `--cgroup[=cgroup]`

If user tries to specify cgroup as `-C [cgroup]` or `--cgroup [cgroup]`,
the parser silently fails and rtla's cgroup is used for the tracer
threads.

To make interface more user-friendly, allow user to specify cgroup in
the aforementioned way, i.e. `-C [cgroup]` and `--cgroup [cgroup]`.

Refactor identical logic between -t/--trace and -C/--cgroup into a
common function.

Change documentation to reflect this user interface change.

Fixes: a957cbc02531 ("rtla: Add -C cgroup support")
Signed-off-by: Ivan Pravdin &lt;ipravdin.official@gmail.com&gt;
Reviewed-by: Tomas Glozar &lt;tglozar@redhat.com&gt;
Link: https://lore.kernel.org/r/16132f1565cf5142b5fbd179975be370b529ced7.1762186418.git.ipravdin.official@gmail.com
[ use capital letter in subject, as required by tracing subsystem ]
Signed-off-by: Tomas Glozar &lt;tglozar@redhat.com&gt;
</content>
</entry>
<entry>
<title>Documentation/rtla: Include defaults for tracer options</title>
<updated>2025-11-05T18:19:24+00:00</updated>
<author>
<name>Tomas Glozar</name>
<email>tglozar@redhat.com</email>
</author>
<published>2025-10-10T08:33:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=21d5c65d955f27efbf0dc62cd3eeebb9ba2ec61a'/>
<id>urn:sha1:21d5c65d955f27efbf0dc62cd3eeebb9ba2ec61a</id>
<content type='text'>
Commit 0122938a7ab4 ("rtla: Always set all tracer options") changed the
behavior of RTLA to always set all osnoise and timerlat tracer options
to default values taken from the tracers whenever an RTLA measurement
is started. The change was done to make RTLA results consistent on
subsequent runs of the same command.

Include the default values for tracer options also in documentation
where appropriate.

Signed-off-by: Tomas Glozar &lt;tglozar@redhat.com&gt;
Acked-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251010083338.478961-10-tglozar@redhat.com&gt;
</content>
</entry>
<entry>
<title>Documentation/rtla: Mention default cgroup state</title>
<updated>2025-11-05T18:19:17+00:00</updated>
<author>
<name>Tomas Glozar</name>
<email>tglozar@redhat.com</email>
</author>
<published>2025-10-10T08:33:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=122a552b5b1c1a33fa14e9d2d7d6a92a553a9c3e'/>
<id>urn:sha1:122a552b5b1c1a33fa14e9d2d7d6a92a553a9c3e</id>
<content type='text'>
The RTLA option -C/--cgroup is used to set a cgroup for workload
threads. This is either a specific cgroup, if passed an argument, or
rtla's cgroup, if no argument is given.

Expand the documentation of the -C option to also include the
information about the cgroup settings when the option is not specified.

Signed-off-by: Tomas Glozar &lt;tglozar@redhat.com&gt;
Acked-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251010083338.478961-8-tglozar@redhat.com&gt;
</content>
</entry>
<entry>
<title>Documentation/rtla: Mention default priority</title>
<updated>2025-11-05T18:19:13+00:00</updated>
<author>
<name>Tomas Glozar</name>
<email>tglozar@redhat.com</email>
</author>
<published>2025-10-10T08:33:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=198fcc7cb832b995a84b32c52f016223c9ac1a82'/>
<id>urn:sha1:198fcc7cb832b995a84b32c52f016223c9ac1a82</id>
<content type='text'>
RTLA allows the priority of workload threads to be set using the -P
option. This is covered in docs, but the default state for RTLA's own
user workload (implemented in timerlat_u.c) is not mentioned.

Add mention of the default user workload priority as well as a reference
to osnoise and timerlat tracers for kernel workload priority.

Signed-off-by: Tomas Glozar &lt;tglozar@redhat.com&gt;
Acked-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251010083338.478961-7-tglozar@redhat.com&gt;
</content>
</entry>
<entry>
<title>Documentation/rtla: Correct tracer name for common options</title>
<updated>2025-11-05T18:19:09+00:00</updated>
<author>
<name>Tomas Glozar</name>
<email>tglozar@redhat.com</email>
</author>
<published>2025-10-10T08:33:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3e30aee838081756e611caa76485d21fbdf99048'/>
<id>urn:sha1:3e30aee838081756e611caa76485d21fbdf99048</id>
<content type='text'>
Several options in common_options.rst say "osnoise tracer" for both
osnoise and timerlat.

Use |tool| variable so that the correct tool name is used.

Fixes: b1be48307de4 ("rtla: Add rtla osnoise top documentation")
Signed-off-by: Tomas Glozar &lt;tglozar@redhat.com&gt;
Acked-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
Message-ID: &lt;20251010083338.478961-6-tglozar@redhat.com&gt;
</content>
</entry>
</feed>
