Commit d9f24f8e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull tracing tools updates from Steven Rostedt

 - This is mostly just consolidating code between osnoise/timerlat and
   top/hist for easier maintenance and less future divergence

* tag 'trace-tools-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  tools/rtla: Add remaining support for osnoise actions
  tools/rtla: Add test engine support for unexpected output
  tools/rtla: Fix -A option name in test comment
  tools/rtla: Consolidate code between osnoise/timerlat and hist/top
  tools/rtla: Create common_apply_config()
  tools/rtla: Move top/hist params into common struct
  tools/rtla: Consolidate common parameters into shared structure
parents 2cd14dff 05b7e106
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
@@ -53,6 +53,67 @@
**--trace-buffer-size** *kB*
        Set the per-cpu trace buffer size in kB for the tracing output.

**--on-threshold** *action*

        Defines an action to be executed when tracing is stopped on a latency threshold
        specified by |threshold|.

        Multiple --on-threshold actions may be specified, and they will be executed in
        the order they are provided. If any action fails, subsequent actions in the list
        will not be executed.

        Supported actions are:

        - *trace[,file=<filename>]*

          Saves trace output, optionally taking a filename. Alternative to -t/--trace.
          Note that nlike -t/--trace, specifying this multiple times will result in
          the trace being saved multiple times.

        - *signal,num=<sig>,pid=<pid>*

          Sends signal to process. "parent" might be specified in place of pid to target
          the parent process of rtla.

        - *shell,command=<command>*

          Execute shell command.

        - *continue*

          Continue tracing after actions are executed instead of stopping.

        Example:

        $ rtla |tool| |thresharg| 20 --on-threshold trace
        --on-threshold shell,command="grep ipi_send |tracer|\_trace.txt"
        --on-threshold signal,num=2,pid=parent

        This will save a trace with the default filename "|tracer|\_trace.txt", print its
        lines that contain the text "ipi_send" on standard output, and send signal 2
        (SIGINT) to the parent process.

        Performance Considerations:

        |actionsperf|

**--on-end** *action*

        Defines an action to be executed at the end of tracing.

        Multiple --on-end actions can be specified, and they will be executed in the order
        they are provided. If any action fails, subsequent actions in the list will not be
        executed.

        See the documentation for **--on-threshold** for the list of supported actions, with
        the exception that *continue* has no effect.

        Example:

        $ rtla |tool| -d 5s --on-end trace

        This runs rtla with the default options, and saves trace output at the end.

**-h**, **--help**

        Print help menu.
+8 −0
Original line number Diff line number Diff line
.. |threshold|  replace:: **-a/--auto**, **-s/--stop**, or **-S/--stop-total**
.. |thresharg|  replace:: -s
.. |tracer|     replace:: osnoise

.. |actionsperf| replace::
        Due to implementational limitations, actions might be delayed
        up to one second after tracing is stopped.

**-a**, **--auto** *us*

        Set the automatic trace mode. This mode sets some commonly used options
+10 −64
Original line number Diff line number Diff line
.. |threshold|  replace:: **-a/--auto**, **-i/--irq**, or **-T/--thread**
.. |thresharg|  replace:: -T
.. |tracer|     replace:: timerlat

.. |actionsperf| replace::
        For time-sensitive actions, it is recommended to run **rtla timerlat** with BPF
        support and RT priority. Note that due to implementational limitations, actions
        might be delayed up to one second after tracing is stopped if BPF mode is not
        available or disabled.

**-a**, **--auto** *us*

        Set the automatic trace mode. This mode sets some commonly used options
@@ -55,67 +65,3 @@
        Set timerlat to run without workload, waiting for the user to dispatch a per-cpu
        task that waits for a new period on the tracing/osnoise/per_cpu/cpu$ID/timerlat_fd.
        See linux/tools/rtla/sample/timerlat_load.py for an example of user-load code.

**--on-threshold** *action*

        Defines an action to be executed when tracing is stopped on a latency threshold
        specified by **-i/--irq** or **-T/--thread**.

        Multiple --on-threshold actions may be specified, and they will be executed in
        the order they are provided. If any action fails, subsequent actions in the list
        will not be executed.

        Supported actions are:

        - *trace[,file=<filename>]*

          Saves trace output, optionally taking a filename. Alternative to -t/--trace.
          Note that nlike -t/--trace, specifying this multiple times will result in
          the trace being saved multiple times.

        - *signal,num=<sig>,pid=<pid>*

          Sends signal to process. "parent" might be specified in place of pid to target
          the parent process of rtla.

        - *shell,command=<command>*

          Execute shell command.

        - *continue*

          Continue tracing after actions are executed instead of stopping.

        Example:

        $ rtla timerlat -T 20 --on-threshold trace
        --on-threshold shell,command="grep ipi_send timerlat_trace.txt"
        --on-threshold signal,num=2,pid=parent

        This will save a trace with the default filename "timerlat_trace.txt", print its
        lines that contain the text "ipi_send" on standard output, and send signal 2
        (SIGINT) to the parent process.

        Performance Considerations:

        For time-sensitive actions, it is recommended to run **rtla timerlat** with BPF
        support and RT priority. Note that due to implementational limitations, actions
        might be delayed up to one second after tracing is stopped if BPF mode is not
        available or disabled.

**--on-end** *action*

        Defines an action to be executed at the end of **rtla timerlat** tracing.

        Multiple --on-end actions can be specified, and they will be executed in the order
        they are provided. If any action fails, subsequent actions in the list will not be
        executed.

        See the documentation for **--on-threshold** for the list of supported actions, with
        the exception that *continue* has no effect.

        Example:

        $ rtla timerlat -d 5s --on-end trace

        This runs rtla timerlat with default options and save trace output at the end.
+2 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0

.. |tool| replace:: hwnoise

============
rtla-hwnoise
============
+2 −0
Original line number Diff line number Diff line
.. |tool| replace:: osnoise hist

===================
rtla-osnoise-hist
===================
Loading