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 -d, --duration time[s|m|h|d]
74 Set the duration of the session.
75
76 -D, --debug
77 Print debug info.
78
79 -t, --trace[=file]
80 Save the stopped trace to [file|osnoise_trace.txt].
81
82 -e, --event sys:event
83 Enable an event in the trace (-t) session. The argument can be a
84 specific event, e.g., -e sched:sched_switch, or all events of a sys‐
85 tem group, e.g., -e sched. Multiple -e are allowed. It is only ac‐
86 tive when -t or -a are set.
87
88 --filter <filter>
89 Filter the previous -e sys:event event with <filter>. For further
90 information about event filtering see
91 https://www.kernel.org/doc/html/latest/trace/events.html#event-filtering.
92
93 --trigger <trigger>
94 Enable a trace event trigger to the previous -e sys:event. If
95 the hist: trigger is activated, the output histogram will be au‐
96 tomatically saved to a file named system_event_hist.txt. For
97 example, the command:
98
99 rtla <command> <mode> -t -e osnoise:irq_noise --trig‐
100 ger="hist:key=desc,duration/1000:sort=desc,dura‐
101 tion/1000:vals=hitcount"
102
103 Will automatically save the content of the histogram associated
104 to osnoise:irq_noise event in osnoise_irq_noise_hist.txt.
105
106 For further information about event trigger see
107 https://www.kernel.org/doc/html/latest/trace/events.html#event-triggers.
108
109 -P, --priority o:prio|r:prio|f:prio|d:runtime:period
110 Set scheduling parameters to the osnoise tracer threads, the format
111 to set the priority are:
112
113 • o:prio - use SCHED_OTHER with prio;
114
115 • r:prio - use SCHED_RR with prio;
116
117 • f:prio - use SCHED_FIFO with prio;
118
119 • d:runtime[us|ms|s]:period[us|ms|s] - use SCHED_DEADLINE with run‐
120 time and period in nanoseconds.
121
122 -h, --help
123 Print help menu.
124
126 In the example below, osnoise tracer threads are set to run with
127 real-time priority FIFO:1, on CPUs 0-11, for 900ms at each period (1s
128 by default). The reason for reducing the runtime is to avoid starving
129 the rtla tool. The tool is also set to run for one minute. The output
130 histogram is set to group outputs in buckets of 10us and 25 entries:
131
132 [root@f34 ~/]# rtla osnoise hist -P F:1 -c 0-11 -r 900000 -d 1M -b 10 -E 25
133 # RTLA osnoise histogram
134 # Time unit is microseconds (us)
135 # Duration: 0 00:01:00
136 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
137 0 42982 46287 51779 53740 52024 44817 49898 36500 50408 50128 49523 52377
138 10 12224 8356 2912 878 2667 10155 4573 18894 4214 4836 5708 2413
139 20 8 5 12 2 13 24 20 41 29 53 39 39
140 30 1 1 0 0 10 3 6 19 15 31 30 38
141 40 0 0 0 0 0 4 2 7 2 3 8 11
142 50 0 0 0 0 0 0 0 0 0 1 1 2
143 over: 0 0 0 0 0 0 0 0 0 0 0 0
144 count: 55215 54649 54703 54620 54714 55003 54499 55461 54668 55052 55309 54880
145 min: 0 0 0 0 0 0 0 0 0 0 0 0
146 avg: 0 0 0 0 0 0 0 0 0 0 0 0
147 max: 30 30 20 20 30 40 40 40 40 50 50 50
148
150 rtla-osnoise(1), rtla-osnoise-top(1)
151
152 osnoise tracer documentation: <‐
153 https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.html>
154
156 Written by Daniel Bristot de Oliveira <bristot@kernel.org>
157
159 Report bugs to <lkml@vger.kernel.org>
160
162 rtla is Free Software licensed under the GNU GPLv2
163
165 Copyright (C) 2021 Red Hat, Inc. Free use of this software is granted
166 under the terms of the GNU Public License (GPL).
167
168
169
170
171 RTLA-OSNOISE-HIST(1)