1RTLA-OSNOISE-HIST(1) RTLA-OSNOISE-HIST(1)
2
3
4
6 rtla-osnoise-hist - Display a histogram of the osnoise tracer samples
7
9 rtla osnoise hist [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 The rtla osnoise hist tool collects all osnoise:sample_threshold occur‐
22 rence in a histogram, displaying the results in a user-friendly way.
23 The tool also allows many configurations of the osnoise tracer and the
24 collection of the tracer output.
25
27 -a, --auto us
28 Set the automatic trace mode. This mode sets some commonly used op‐
29 tions while debugging the system. It is equivalent to use -s us -T 1
30 -t.
31
32 -p, --period us
33 Set the osnoise tracer period in microseconds.
34
35 -r, --runtime us
36 Set the osnoise tracer runtime in microseconds.
37
38 -s, --stop us
39 Stop the trace if a single sample is higher than the argument in mi‐
40 croseconds. If -T is set, it will also save the trace to the out‐
41 put.
42
43 -S, --stop-total us
44 Stop the trace if the total sample is higher than the argument in
45 microseconds. If -T is set, it will also save the trace to the out‐
46 put.
47
48 -T, --threshold us
49 Specify the minimum delta between two time reads to be considered
50 noise. The default threshold is 5 us.
51
52 -b, --bucket-size N
53 Set the histogram bucket size (default 1).
54
55 -E, --entries N
56 Set the number of entries of the histogram (default 256).
57
58 --no-header
59 Do not print header.
60
61 --no-summary
62 Do not print summary.
63
64 --no-index
65 Do not print index.
66
67 --with-zeros
68 Print zero only entries.
69
70 -c, --cpus cpu-list
71 Set the osnoise tracer to run the sample threads in the cpu-list.
72
73 -H, --house-keeping cpu-list
74 Run rtla control threads only on the given cpu-list.
75
76 -d, --duration time[s|m|h|d]
77 Set the duration of the session.
78
79 -D, --debug
80 Print debug info.
81
82 -t, --trace[=file]
83 Save the stopped trace to [file|osnoise_trace.txt].
84
85 -e, --event sys:event
86 Enable an event in the trace (-t) session. The argument can be a
87 specific event, e.g., -e sched:sched_switch, or all events of a sys‐
88 tem group, e.g., -e sched. Multiple -e are allowed. It is only ac‐
89 tive when -t or -a are set.
90
91 --filter <filter>
92 Filter the previous -e sys:event event with <filter>. For further
93 information about event filtering see
94 https://www.kernel.org/doc/html/latest/trace/events.html#event-filtering.
95
96 --trigger <trigger>
97 Enable a trace event trigger to the previous -e sys:event. If
98 the hist: trigger is activated, the output histogram will be au‐
99 tomatically saved to a file named system_event_hist.txt. For
100 example, the command:
101
102 rtla <command> <mode> -t -e osnoise:irq_noise --trig‐
103 ger="hist:key=desc,duration/1000:sort=desc,dura‐
104 tion/1000:vals=hitcount"
105
106 Will automatically save the content of the histogram associated
107 to osnoise:irq_noise event in osnoise_irq_noise_hist.txt.
108
109 For further information about event trigger see
110 https://www.kernel.org/doc/html/latest/trace/events.html#event-triggers.
111
112 -P, --priority o:prio|r:prio|f:prio|d:runtime:period
113 Set scheduling parameters to the osnoise tracer threads, the format
114 to set the priority are:
115
116 • o:prio - use SCHED_OTHER with prio;
117
118 • r:prio - use SCHED_RR with prio;
119
120 • f:prio - use SCHED_FIFO with prio;
121
122 • d:runtime[us|ms|s]:period[us|ms|s] - use SCHED_DEADLINE with run‐
123 time and period in nanoseconds.
124
125 -C, --cgroup[=cgroup]
126 Set a cgroup to the tracer's threads. If the -C option is passed
127 without arguments, the tracer's thread will inherit rtla's cgroup.
128 Otherwise, the threads will be placed on the cgroup passed to the
129 option.
130
131 -h, --help
132 Print help menu.
133
135 In the example below, osnoise tracer threads are set to run with
136 real-time priority FIFO:1, on CPUs 0-11, for 900ms at each period (1s
137 by default). The reason for reducing the runtime is to avoid starving
138 the rtla tool. The tool is also set to run for one minute. The output
139 histogram is set to group outputs in buckets of 10us and 25 entries:
140
141 [root@f34 ~/]# rtla osnoise hist -P F:1 -c 0-11 -r 900000 -d 1M -b 10 -E 25
142 # RTLA osnoise histogram
143 # Time unit is microseconds (us)
144 # Duration: 0 00:01:00
145 Index CPU-000 CPU-001 CPU-002 CPU-003 CPU-004 CPU-005 CPU-006 CPU-007 CPU-008 CPU-009 CPU-010 CPU-011
146 0 42982 46287 51779 53740 52024 44817 49898 36500 50408 50128 49523 52377
147 10 12224 8356 2912 878 2667 10155 4573 18894 4214 4836 5708 2413
148 20 8 5 12 2 13 24 20 41 29 53 39 39
149 30 1 1 0 0 10 3 6 19 15 31 30 38
150 40 0 0 0 0 0 4 2 7 2 3 8 11
151 50 0 0 0 0 0 0 0 0 0 1 1 2
152 over: 0 0 0 0 0 0 0 0 0 0 0 0
153 count: 55215 54649 54703 54620 54714 55003 54499 55461 54668 55052 55309 54880
154 min: 0 0 0 0 0 0 0 0 0 0 0 0
155 avg: 0 0 0 0 0 0 0 0 0 0 0 0
156 max: 30 30 20 20 30 40 40 40 40 50 50 50
157
159 rtla-osnoise(1), rtla-osnoise-top(1)
160
161 osnoise tracer documentation: <‐
162 https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.html>
163
165 Written by Daniel Bristot de Oliveira <bristot@kernel.org>
166
168 Report bugs to <linux-kernel@vger.kernel.org> and <‐
169 linux-trace-devel@vger.kernel.org>
170
172 rtla is Free Software licensed under the GNU GPLv2
173
175 Copyright (C) 2021 Red Hat, Inc. Free use of this software is granted
176 under the terms of the GNU Public License (GPL).
177
178
179
180
181 RTLA-OSNOISE-HIST(1)