xref: /linux/Documentation/tools/rtla/common_options.txt (revision ab43bd72f958b69045320bee8dd86fbb0eb74969)
1**-c**, **--cpus** *cpu-list*
2
3        Set the |tool| tracer to run the sample threads in the cpu-list.
4
5        By default, the |tool| tracer runs the sample threads on all CPUs.
6
7**-H**, **--house-keeping** *cpu-list*
8
9        Run rtla control threads only on the given cpu-list.
10
11        If omitted, rtla will attempt to auto-migrate its main thread to any CPU that is not running any workload threads.
12
13**-d**, **--duration** *time[s|m|h|d]*
14
15        Set the duration of the session.
16
17**-D**, **--debug**
18
19        Print debug info.
20
21**-e**, **--event** *sys:event*
22
23        Enable an event in the trace (**-t**) session. The argument can be a specific event, e.g., **-e** *sched:sched_switch*, or all events of a system group, e.g., **-e** *sched*. Multiple **-e** are allowed. It is only active when **-t** or **-a** are set.
24
25        This option cannot be unset.
26
27**--filter** *<filter>*
28
29        Filter the previous **-e** *sys:event* event with *<filter>*. For further information about event filtering see https://www.kernel.org/doc/html/latest/trace/events.html#event-filtering.
30
31        This option cannot be unset.
32
33**--trigger** *<trigger>*
34        Enable a trace event trigger to the previous **-e** *sys:event*.
35        If the *hist:* trigger is activated, the output histogram will be automatically saved to a file named *system_event_hist.txt*.
36        For example, the command:
37
38        rtla <command> <mode> -t -e osnoise:irq_noise --trigger="hist:key=desc,duration/1000:sort=desc,duration/1000:vals=hitcount"
39
40        Will automatically save the content of the histogram associated to *osnoise:irq_noise* event in *osnoise_irq_noise_hist.txt*.
41
42        For further information about event trigger see https://www.kernel.org/doc/html/latest/trace/events.html#event-triggers.
43
44        This option cannot be unset.
45
46**-P**, **--priority** *o:prio|r:prio|f:prio|d:runtime:period*
47
48        Set scheduling parameters to the |tool| tracer threads, the format to set the priority are:
49
50        - *o:prio* - use SCHED_OTHER with *prio*;
51        - *r:prio* - use SCHED_RR with *prio*;
52        - *f:prio* - use SCHED_FIFO with *prio*;
53        - *d:runtime[us|ms|s]:period[us|ms|s]* - use SCHED_DEADLINE with *runtime* and *period* in nanoseconds.
54
55        If not set, tracer threads keep their default priority. For rtla user threads, it is set to SCHED_FIFO with priority 95. For kernel threads, see *osnoise* and *timerlat* tracer documentation for the running kernel version.
56
57**-C**, **--cgroup** \[*cgroup*]
58
59        Set a *cgroup* to the tracer's threads. If the **-C** option is passed without arguments, the tracer's thread will inherit **rtla**'s *cgroup*. Otherwise, the threads will be placed on the *cgroup* passed to the option.
60
61        If not set, the behavior differs between workload types. User workloads created by rtla will inherit rtla's cgroup. Kernel workloads are assigned the root cgroup.
62
63**--warm-up** *s*
64
65        After starting the workload, let it run for *s* seconds before starting collecting the data, allowing the system to warm-up. Statistical data generated during warm-up is discarded.
66
67**--trace-buffer-size** *kB*
68        Set the per-cpu trace buffer size in kB for the tracing output.
69
70        If not set, the default tracefs buffer size is used.
71
72**--on-threshold** *action*
73
74        Defines an action to be executed when tracing is stopped on a latency threshold
75        specified by |threshold|.
76
77        Multiple --on-threshold actions may be specified, and they will be executed in
78        the order they are provided. If any action fails, subsequent actions in the list
79        will not be executed.
80
81        Supported actions are:
82
83        - *trace[,file=<filename>]*
84
85          Saves trace output, optionally taking a filename. Alternative to -t/--trace.
86          Note that unlike -t/--trace, specifying this multiple times will result in
87          the trace being saved multiple times, and --no-trace will not disable trace
88          output when enabled through this option.
89
90        - *signal,num=<sig>,pid=<pid>*
91
92          Sends signal to process. "parent" might be specified in place of pid to target
93          the parent process of rtla.
94
95        - *shell,command=<command>*
96
97          Execute shell command.
98
99        - *continue*
100
101          Continue tracing after actions are executed instead of stopping.
102
103        Example:
104
105        $ rtla |tool| |thresharg| 20 --on-threshold trace
106        --on-threshold shell,command="grep ipi_send |tracer|\_trace.txt"
107        --on-threshold signal,num=2,pid=parent
108
109        This will save a trace with the default filename "|tracer|\_trace.txt", print its
110        lines that contain the text "ipi_send" on standard output, and send signal 2
111        (SIGINT) to the parent process.
112
113        Performance Considerations:
114
115        |actionsperf|
116
117        This option cannot be unset.
118
119**--on-end** *action*
120
121        Defines an action to be executed at the end of tracing.
122
123        Multiple --on-end actions can be specified, and they will be executed in the order
124        they are provided. If any action fails, subsequent actions in the list will not be
125        executed.
126
127        See the documentation for **--on-threshold** for the list of supported actions, with
128        the exception that *continue* has no effect.
129
130        Example:
131
132        $ rtla |tool| -d 5s --on-end trace
133
134        This runs rtla with the default options, and saves trace output at the end.
135
136        This option cannot be unset.
137
138**-h**, **--help**
139
140        Print help menu.
141