1RTLA-OSNOISE-TOP(1) RTLA-OSNOISE-TOP(1)
2
3
4
6 rtla-osnoise-top - Display a summary of the operating system noise
7
9 rtla osnoise top [OPTIONS]
10
12 The rtla osnoise tool is an interface for the osnoise tracer. The os‐
13 noise tracer dispatches a kernel thread per-cpu. These threads read the
14 time in a loop while with preemption, softirq and IRQs enabled, thus
15 allowing all the sources of operating system noise during its execu‐
16 tion. The osnoise's tracer threads take note of the delta between each
17 time read, along with an interference counter of all sources of inter‐
18 ference. At the end of each period, the osnoise tracer displays a sum‐
19 mary of the results.
20
21 rtla osnoise top collects the periodic summary from the osnoise tracer,
22 including the counters of the occurrence of the interference source,
23 displaying the results in a user-friendly format.
24
25 The tool also allows many configurations of the osnoise tracer and the
26 collection of the tracer output.
27
29 -a, --auto us
30 Set the automatic trace mode. This mode sets some commonly used op‐
31 tions while debugging the system. It is equivalent to use -s us -T 1
32 -t.
33
34 -p, --period us
35 Set the osnoise tracer period in microseconds.
36
37 -r, --runtime us
38 Set the osnoise tracer runtime in microseconds.
39
40 -s, --stop us
41 Stop the trace if a single sample is higher than the argument in mi‐
42 croseconds. If -T is set, it will also save the trace to the out‐
43 put.
44
45 -S, --stop-total us
46 Stop the trace if the total sample is higher than the argument in
47 microseconds. If -T is set, it will also save the trace to the out‐
48 put.
49
50 -T, --threshold us
51 Specify the minimum delta between two time reads to be considered
52 noise. The default threshold is 5 us.
53
54 -q, --quiet
55 Print only a summary at the end of the session.
56
57 -c, --cpus cpu-list
58 Set the osnoise tracer to run the sample threads in the cpu-list.
59
60 -H, --house-keeping cpu-list
61 Run rtla control threads only on the given cpu-list.
62
63 -d, --duration time[s|m|h|d]
64 Set the duration of the session.
65
66 -D, --debug
67 Print debug info.
68
69 -t, --trace[=file]
70 Save the stopped trace to [file|osnoise_trace.txt].
71
72 -e, --event sys:event
73 Enable an event in the trace (-t) session. The argument can be a
74 specific event, e.g., -e sched:sched_switch, or all events of a sys‐
75 tem group, e.g., -e sched. Multiple -e are allowed. It is only ac‐
76 tive when -t or -a are set.
77
78 --filter <filter>
79 Filter the previous -e sys:event event with <filter>. For further
80 information about event filtering see
81 https://www.kernel.org/doc/html/latest/trace/events.html#event-filtering.
82
83 --trigger <trigger>
84 Enable a trace event trigger to the previous -e sys:event. If
85 the hist: trigger is activated, the output histogram will be au‐
86 tomatically saved to a file named system_event_hist.txt. For
87 example, the command:
88
89 rtla <command> <mode> -t -e osnoise:irq_noise --trig‐
90 ger="hist:key=desc,duration/1000:sort=desc,dura‐
91 tion/1000:vals=hitcount"
92
93 Will automatically save the content of the histogram associated
94 to osnoise:irq_noise event in osnoise_irq_noise_hist.txt.
95
96 For further information about event trigger see
97 https://www.kernel.org/doc/html/latest/trace/events.html#event-triggers.
98
99 -P, --priority o:prio|r:prio|f:prio|d:runtime:period
100 Set scheduling parameters to the osnoise tracer threads, the format
101 to set the priority are:
102
103 • o:prio - use SCHED_OTHER with prio;
104
105 • r:prio - use SCHED_RR with prio;
106
107 • f:prio - use SCHED_FIFO with prio;
108
109 • d:runtime[us|ms|s]:period[us|ms|s] - use SCHED_DEADLINE with run‐
110 time and period in nanoseconds.
111
112 -C, --cgroup[=cgroup]
113 Set a cgroup to the tracer's threads. If the -C option is passed
114 without arguments, the tracer's thread will inherit rtla's cgroup.
115 Otherwise, the threads will be placed on the cgroup passed to the
116 option.
117
118 -h, --help
119 Print help menu.
120
122 In the example below, the rtla osnoise top tool is set to run with a
123 real-time priority FIFO:1, on CPUs 0-3, for 900ms at each period (1s by
124 default). The reason for reducing the runtime is to avoid starving the
125 rtla tool. The tool is also set to run for one minute and to display a
126 summary of the report at the end of the session:
127
128 [root@f34 ~]# rtla osnoise top -P F:1 -c 0-3 -r 900000 -d 1M -q
129 Operating System Noise
130 duration: 0 00:01:00 | time is in us
131 CPU Period Runtime Noise % CPU Aval Max Noise Max Single HW NMI IRQ Softirq Thread
132 0 #59 53100000 304896 99.42580 6978 56 549 0 53111 1590 13
133 1 #59 53100000 338339 99.36282 8092 24 399 0 53130 1448 31
134 2 #59 53100000 290842 99.45227 6582 39 855 0 53110 1406 12
135 3 #59 53100000 204935 99.61405 6251 33 290 0 53156 1460 12
136
138 rtla-osnoise(1), rtla-osnoise-hist(1)
139
140 Osnoise tracer documentation: <‐
141 https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.html>
142
144 Written by Daniel Bristot de Oliveira <bristot@kernel.org>
145
147 Report bugs to <linux-kernel@vger.kernel.org> and <‐
148 linux-trace-devel@vger.kernel.org>
149
151 rtla is Free Software licensed under the GNU GPLv2
152
154 Copyright (C) 2021 Red Hat, Inc. Free use of this software is granted
155 under the terms of the GNU Public License (GPL).
156
157
158
159
160 RTLA-OSNOISE-TOP(1)