Ksphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget//translations/zh_CN/tools/rtla/rtla-osnoise-topmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget//translations/zh_TW/tools/rtla/rtla-osnoise-topmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget//translations/it_IT/tools/rtla/rtla-osnoise-topmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget//translations/ja_JP/tools/rtla/rtla-osnoise-topmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget//translations/ko_KR/tools/rtla/rtla-osnoise-topmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget//translations/sp_SP/tools/rtla/rtla-osnoise-topmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hrtla-osnoise-toph]hrtla-osnoise-top}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhI/var/lib/git/docbuild/linux/Documentation/tools/rtla/rtla-osnoise-top.rsthKubh)}(hhh](h)}(h/Display a summary of the operating system noiseh]h/Display a summary of the operating system noise}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh field_list)}(hhh]hfield)}(hhh](h field_name)}(hManual sectionh]hManual section}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(h1 h]h paragraph)}(h1h]h1}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hSYNOPSISh]hSYNOPSIS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK ubh)}(h **rtla osnoise top** [*OPTIONS*]h](hstrong)}(h**rtla osnoise top**h]hrtla osnoise top}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh [}(hjhhhNhNubhemphasis)}(h *OPTIONS*h]hOPTIONS}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh]}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hj hhubeh}(h]synopsisah ]h"]synopsisah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(h DESCRIPTIONh]h DESCRIPTION}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUhhhhhKubh)}(hXThe **rtla osnoise** tool is an interface for the *osnoise* tracer. The *osnoise* tracer dispatches a kernel thread per-cpu. These threads read the time in a loop while with preemption, softirq and IRQs enabled, thus allowing all the sources of operating system noise during its execution. The *osnoise*'s tracer threads take note of the delta between each time read, along with an interference counter of all sources of interference. At the end of each period, the *osnoise* tracer displays a summary of the results.h](hThe }(hjfhhhNhNubj )}(h**rtla osnoise**h]h rtla osnoise}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubh tool is an interface for the }(hjfhhhNhNubj4)}(h *osnoise*h]hosnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjfubh tracer. The }(hjfhhhNhNubj4)}(h *osnoise*h]hosnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjfubh tracer dispatches a kernel thread per-cpu. These threads read the time in a loop while with preemption, softirq and IRQs enabled, thus allowing all the sources of operating system noise during its execution. The }(hjfhhhNhNubj4)}(h *osnoise*h]hosnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjfubh’s tracer threads take note of the delta between each time read, along with an interference counter of all sources of interference. At the end of each period, the }(hjfhhhNhNubj4)}(h *osnoise*h]hosnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjfubh* tracer displays a summary of the results.}(hjfhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh7Documentation/tools/rtla/common_osnoise_description.rsthKhjUhhubh)}(h**rtla osnoise top** collects the periodic summary from the *osnoise* tracer, including the counters of the occurrence of the interference source, displaying the results in a user-friendly format.h](j )}(h**rtla osnoise top**h]hrtla osnoise top}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh( collects the periodic summary from the }(hjhhhNhNubj4)}(h *osnoise*h]hosnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh tracer, including the counters of the occurrence of the interference source, displaying the results in a user-friendly format.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjUhhubh)}(hiThe tool also allows many configurations of the *osnoise* tracer and the collection of the tracer output.h](h0The tool also allows many configurations of the }(hjhhhNhNubj4)}(h *osnoise*h]hosnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh0 tracer and the collection of the tracer output.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjUhhubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hOPTIONSh]hOPTIONS}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%hhhhhKubh)}(h**-a**, **--auto** *us*h](j )}(h**-a**h]h-a}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh, }(hj6hhhNhNubj )}(h **--auto**h]h--auto}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh }(hj6hhhNhNubj4)}(h*us*h]hus}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj6ubeh}(h]h ]h"]h$]h&]uh1hh3Documentation/tools/rtla/common_osnoise_options.rsthKhj%hhubh block_quote)}(hSet the automatic trace mode. This mode sets some commonly used options while debugging the system. It is equivalent to use **-s** *us* **-T 1 -t**. h]h)}(hSet the automatic trace mode. This mode sets some commonly used options while debugging the system. It is equivalent to use **-s** *us* **-T 1 -t**.h](h|Set the automatic trace mode. This mode sets some commonly used options while debugging the system. It is equivalent to use }(hjyhhhNhNubj )}(h**-s**h]h-s}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubh }(hjyhhhNhNubj4)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjyubh }hjysbj )}(h **-T 1 -t**h]h-T 1 -t}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubh.}(hjyhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjrhKhjuubah}(h]h ]h"]h$]h&]uh1jshjrhKhj%hhubh)}(h**-p**, **--period** *us*h](j )}(h**-p**h]h-p}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj )}(h **--period**h]h--period}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubj4)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1hhjrhKhj%hhubjt)}(h1Set the *osnoise* tracer period in microseconds. h]h)}(h0Set the *osnoise* tracer period in microseconds.h](hSet the }(hjhhhNhNubj4)}(h *osnoise*h]hosnoise}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh tracer period in microseconds.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjrhKhjubah}(h]h ]h"]h$]h&]uh1jshjrhKhj%hhubh)}(h**-r**, **--runtime** *us*h](j )}(h**-r**h]h-r}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubh, }(hj)hhhNhNubj )}(h **--runtime**h]h --runtime}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubh }(hj)hhhNhNubj4)}(h*us*h]hus}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj)ubeh}(h]h ]h"]h$]h&]uh1hhjrhK hj%hhubjt)}(h2Set the *osnoise* tracer runtime in microseconds. h]h)}(h1Set the *osnoise* tracer runtime in microseconds.h](hSet the }(hjihhhNhNubj4)}(h *osnoise*h]hosnoise}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjiubh tracer runtime in microseconds.}(hjihhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjrhK hjeubah}(h]h ]h"]h$]h&]uh1jshjrhK hj%hhubh)}(h**-s**, **--stop** *us*h](j )}(h**-s**h]h-s}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj )}(h **--stop**h]h--stop}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubj4)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1hhjrhKhj%hhubjt)}(hStop the trace if a single sample is higher than the argument in microseconds. If **-T** is set, it will also save the trace to the output. h]h)}(hStop the trace if a single sample is higher than the argument in microseconds. If **-T** is set, it will also save the trace to the output.h](hRStop the trace if a single sample is higher than the argument in microseconds. If }(hjhhhNhNubj )}(h**-T**h]h-T}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh3 is set, it will also save the trace to the output.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjrhKhjubah}(h]h ]h"]h$]h&]uh1jshjrhKhj%hhubh)}(h**-S**, **--stop-total** *us*h](j )}(h**-S**h]h-S}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj )}(h**--stop-total**h]h --stop-total}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubj4)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1hhjrhKhj%hhubjt)}(hStop the trace if the total sample is higher than the argument in microseconds. If **-T** is set, it will also save the trace to the output. h]h)}(hStop the trace if the total sample is higher than the argument in microseconds. If **-T** is set, it will also save the trace to the output.h](hSStop the trace if the total sample is higher than the argument in microseconds. If }(hj5hhhNhNubj )}(h**-T**h]h-T}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj5ubh3 is set, it will also save the trace to the output.}(hj5hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjrhKhj1ubah}(h]h ]h"]h$]h&]uh1jshjrhKhj%hhubh)}(h**-T**, **--threshold** *us*h](j )}(h**-T**h]h-T}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubh, }(hj[hhhNhNubj )}(h**--threshold**h]h --threshold}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubh }(hj[hhhNhNubj4)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj[ubeh}(h]h ]h"]h$]h&]uh1hhjrhKhj%hhubjt)}(hjSpecify the minimum delta between two time reads to be considered noise. The default threshold is *5 us*. h]h)}(hiSpecify the minimum delta between two time reads to be considered noise. The default threshold is *5 us*.h](hbSpecify the minimum delta between two time reads to be considered noise. The default threshold is }(hjhhhNhNubj4)}(h*5 us*h]h5 us}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjrhKhjubah}(h]h ]h"]h$]h&]uh1jshjrhKhj%hhubh)}(h**-t**, **--trace** \[*file*]h](j )}(h**-t**h]h-t}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj )}(h **--trace**h]h--trace}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh [}(hjhhhNhNubj4)}(h*file*h]hfile}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh]}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjrhKhj%hhubjt)}(h6Save the stopped trace to [*file|osnoise_trace.txt*]. h]h)}(h5Save the stopped trace to [*file|osnoise_trace.txt*].h](hSave the stopped trace to [}(hjhhhNhNubj4)}(h*file|osnoise_trace.txt*h]hfile|osnoise_trace.txt}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh].}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjrhKhjubah}(h]h ]h"]h$]h&]uh1jshjrhKhj%hhubh)}(h**-q**, **--quiet**h](j )}(h**-q**h]h-q}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubh, }(hj+hhhNhNubj )}(h **--quiet**h]h--quiet}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1hh/Documentation/tools/rtla/common_top_options.rsthKhj%hhubjt)}(h0Print only a summary at the end of the session. h]h)}(h/Print only a summary at the end of the session.h]h/Print only a summary at the end of the session.}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjUhKhjVubah}(h]h ]h"]h$]h&]uh1jshjUhKhj%hhubh)}(h**-c**, **--cpus** *cpu-list*h](j )}(h**-c**h]h-c}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnubh, }(hjnhhhNhNubj )}(h **--cpus**h]h--cpus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnubh }(hjnhhhNhNubj4)}(h *cpu-list*h]hcpu-list}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjnubeh}(h]h ]h"]h$]h&]uh1hh+Documentation/tools/rtla/common_options.rsthKhj%hhubjt)}(hBSet the osnoise tracer to run the sample threads in the cpu-list. h]h)}(hASet the osnoise tracer to run the sample threads in the cpu-list.h]hASet the osnoise tracer to run the sample threads in the cpu-list.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jshjhKhj%hhubh)}(h&**-H**, **--house-keeping** *cpu-list*h](j )}(h**-H**h]h-H}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj )}(h**--house-keeping**h]h--house-keeping}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubj4)}(h *cpu-list*h]hcpu-list}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1hhjhKhj%hhubjt)}(h5Run rtla control threads only on the given cpu-list. h]h)}(h4Run rtla control threads only on the given cpu-list.h]h4Run rtla control threads only on the given cpu-list.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jshjhKhj%hhubh)}(h&**-d**, **--duration** *time[s|m|h|d]*h](j )}(h**-d**h]h-d}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj )}(h**--duration**h]h --duration}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubj4)}(h*time[s|m|h|d]*h]h time[s|m|h|d]}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1hhjhK hj%hhubjt)}(h!Set the duration of the session. h]h)}(h Set the duration of the session.h]h Set the duration of the session.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK hjSubah}(h]h ]h"]h$]h&]uh1jshjhK hj%hhubh)}(h**-D**, **--debug**h](j )}(h**-D**h]h-D}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubh, }(hjkhhhNhNubj )}(h **--debug**h]h--debug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubeh}(h]h ]h"]h$]h&]uh1hhjhK hj%hhubjt)}(hPrint debug info. h]h)}(hPrint debug info.h]hPrint debug info.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jshjhKhj%hhubh)}(h**-e**, **--event** *sys:event*h](j )}(h**-e**h]h-e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj )}(h **--event**h]h--event}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubj4)}(h *sys:event*h]h sys:event}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1hhjhKhj%hhubjt)}(hEnable 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. h]h)}(hEnable 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.h](hEnable an event in the trace (}(hjhhhNhNubj )}(h**-t**h]h-t}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh7) session. The argument can be a specific event, e.g., }(hjhhhNhNubj )}(h**-e**h]h-e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubj4)}(h*sched:sched_switch*h]hsched:sched_switch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh), or all events of a system group, e.g., }(hjhhhNhNubj )}(h**-e**h]h-e}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }hjsbj4)}(h*sched*h]hsched}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh . Multiple }(hjhhhNhNubj )}(h**-e**h]h-e}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh% are allowed. It is only active when }(hjhhhNhNubj )}(h**-t**h]h-t}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh or }(hjhhhNhNubj )}(h**-a**h]h-a}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh are set.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jshjhKhj%hhubh)}(h**--filter** **h](j )}(h **--filter**h]h--filter}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubj4)}(h **h]h}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubeh}(h]h ]h"]h$]h&]uh1hhjhKhj%hhubjt)}(hFilter the previous **-e** *sys:event* event with **. For further information about event filtering see https://www.kernel.org/doc/html/latest/trace/events.html#event-filtering. h]h)}(hFilter the previous **-e** *sys:event* event with **. For further information about event filtering see https://www.kernel.org/doc/html/latest/trace/events.html#event-filtering.h](hFilter the previous }(hjhhhNhNubj )}(h**-e**h]h-e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh }(hjhhhNhNubj4)}(h *sys:event*h]h sys:event}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh event with }(hjhhhNhNubj4)}(h **h]h}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh4. For further information about event filtering see }(hjhhhNhNubh reference)}(hHhttps://www.kernel.org/doc/html/latest/trace/events.html#event-filteringh]hHhttps://www.kernel.org/doc/html/latest/trace/events.html#event-filtering}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jshjhKhj%hhubhdefinition_list)}(hhh]hdefinition_list_item)}(hXj**--trigger** ** Enable a trace event trigger to the previous **-e** *sys:event*. If the *hist:* trigger is activated, the output histogram will be automatically saved to a file named *system_event_hist.txt*. For example, the command: rtla -t -e osnoise:irq_noise --trigger="hist:key=desc,duration/1000:sort=desc,duration/1000:vals=hitcount" Will automatically save the content of the histogram associated to *osnoise:irq_noise* event in *osnoise_irq_noise_hist.txt*. For further information about event trigger see https://www.kernel.org/doc/html/latest/trace/events.html#event-triggers. h](hterm)}(h**--trigger** **h](j )}(h **--trigger**h]h --trigger}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubh }(hj+hhhNhNubj4)}(h **h]h }(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj+ubeh}(h]h ]h"]h$]h&]uh1j)hjhK"hj%ubh definition)}(hhh](h)}(hEnable a trace event trigger to the previous **-e** *sys:event*. If the *hist:* trigger is activated, the output histogram will be automatically saved to a file named *system_event_hist.txt*. For example, the command:h](h-Enable a trace event trigger to the previous }(hjZhhhNhNubj )}(h**-e**h]h-e}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubh }(hjZhhhNhNubj4)}(h *sys:event*h]h sys:event}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubh . If the }(hjZhhhNhNubj4)}(h*hist:*h]hhist:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubhX trigger is activated, the output histogram will be automatically saved to a file named }(hjZhhhNhNubj4)}(h*system_event_hist.txt*h]hsystem_event_hist.txt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjZubh. For example, the command:}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjWubh)}(h{rtla -t -e osnoise:irq_noise --trigger="hist:key=desc,duration/1000:sort=desc,duration/1000:vals=hitcount"h]hrtla -t -e osnoise:irq_noise --trigger=”hist:key=desc,duration/1000:sort=desc,duration/1000:vals=hitcount”}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjWubh)}(h}Will automatically save the content of the histogram associated to *osnoise:irq_noise* event in *osnoise_irq_noise_hist.txt*.h](hCWill automatically save the content of the histogram associated to }(hjhhhNhNubj4)}(h*osnoise:irq_noise*h]hosnoise:irq_noise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh event in }(hjhhhNhNubj4)}(h*osnoise_irq_noise_hist.txt*h]hosnoise_irq_noise_hist.txt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK hjWubh)}(hxFor further information about event trigger see https://www.kernel.org/doc/html/latest/trace/events.html#event-triggers.h](h0For further information about event trigger see }(hjhhhNhNubj)}(hGhttps://www.kernel.org/doc/html/latest/trace/events.html#event-triggersh]hGhttps://www.kernel.org/doc/html/latest/trace/events.html#event-triggers}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK"hjWubeh}(h]h ]h"]h$]h&]uh1jUhj%ubeh}(h]h ]h"]h$]h&]uh1j#hjhK"hj ubah}(h]h ]h"]h$]h&]uh1jhj%hhhjhNubh)}(h>**-P**, **--priority** *o:prio|r:prio|f:prio|d:runtime:period*h](j )}(h**-P**h]h-P}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj# ubh, }(hj# hhhNhNubj )}(h**--priority**h]h --priority}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj# ubh }(hj# hhhNhNubj4)}(h'*o:prio|r:prio|f:prio|d:runtime:period*h]h%o:prio|r:prio|f:prio|d:runtime:period}(hjK hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj# ubeh}(h]h ]h"]h$]h&]uh1hhjhK$hj%hhubjt)}(hX@Set scheduling parameters to the osnoise tracer threads, the format to set the priority are: - *o:prio* - use SCHED_OTHER with *prio*; - *r:prio* - use SCHED_RR with *prio*; - *f:prio* - use SCHED_FIFO with *prio*; - *d:runtime[us|ms|s]:period[us|ms|s]* - use SCHED_DEADLINE with *runtime* and *period* in nanoseconds. h](h)}(h\Set scheduling parameters to the osnoise tracer threads, the format to set the priority are:h]h\Set scheduling parameters to the osnoise tracer threads, the format to set the priority are:}(hjc hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK&hj_ ubh bullet_list)}(hhh](h list_item)}(h'*o:prio* - use SCHED_OTHER with *prio*;h]h)}(hjz h](j4)}(h*o:prio*h]ho:prio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj| ubh - use SCHED_OTHER with }(hj| hhhNhNubj4)}(h*prio*h]hprio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj| ubh;}(hj| hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK(hjx ubah}(h]h ]h"]h$]h&]uh1jv hjs ubjw )}(h$*r:prio* - use SCHED_RR with *prio*;h]h)}(hj h](j4)}(h*r:prio*h]hr:prio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubh - use SCHED_RR with }(hj hhhNhNubj4)}(h*prio*h]hprio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubh;}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK)hj ubah}(h]h ]h"]h$]h&]uh1jv hjs ubjw )}(h&*f:prio* - use SCHED_FIFO with *prio*;h]h)}(hj h](j4)}(h*f:prio*h]hf:prio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubh - use SCHED_FIFO with }(hj hhhNhNubj4)}(h*prio*h]hprio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubh;}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK*hj ubah}(h]h ]h"]h$]h&]uh1jv hjs ubjw )}(hf*d:runtime[us|ms|s]:period[us|ms|s]* - use SCHED_DEADLINE with *runtime* and *period* in nanoseconds. h]h)}(he*d:runtime[us|ms|s]:period[us|ms|s]* - use SCHED_DEADLINE with *runtime* and *period* in nanoseconds.h](j4)}(h$*d:runtime[us|ms|s]:period[us|ms|s]*h]h"d:runtime[us|ms|s]:period[us|ms|s]}(hj% hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj! ubh - use SCHED_DEADLINE with }(hj! hhhNhNubj4)}(h *runtime*h]hruntime}(hj7 hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj! ubh and }(hj! hhhNhNubj4)}(h*period*h]hperiod}(hjI hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj! ubh in nanoseconds.}(hj! hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK+hj ubah}(h]h ]h"]h$]h&]uh1jv hjs ubeh}(h]h ]h"]h$]h&]bullet-uh1jq hjhK(hj_ ubeh}(h]h ]h"]h$]h&]uh1jshjhK&hj%hhubh)}(h **-C**, **--cgroup**\[*=cgroup*]h](j )}(h**-C**h]h-C}(hjy hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju ubh, }(hju hhhNhNubj )}(h **--cgroup**h]h--cgroup}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju ubh[}(hju hhhNhNubj4)}(h *=cgroup*h]h=cgroup}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hju ubh]}(hju hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK-hj%hhubjt)}(hSet 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. h]h)}(hSet 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.h](hSet a }(hj hhhNhNubj4)}(h*cgroup*h]hcgroup}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubh# to the tracer’s threads. If the }(hj hhhNhNubj )}(h**-C**h]h-C}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhH option is passed without arguments, the tracer’s thread will inherit }(hj hhhNhNubj )}(h**rtla**h]hrtla}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh’s }(hj hhhNhNubj4)}(h*cgroup*h]hcgroup}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubh/. Otherwise, the threads will be placed on the }(hj hhhNhNubj4)}(h*cgroup*h]hcgroup}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubh passed to the option.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK/hj ubah}(h]h ]h"]h$]h&]uh1jshjhK/hj%hhubh)}(h**--warm-up** *s*h](j )}(h **--warm-up**h]h --warm-up}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj' ubh }(hj' hhhNhNubj4)}(h*s*h]hs}(hj= hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj' ubeh}(h]h ]h"]h$]h&]uh1hhjhK1hj%hhubjt)}(hAfter 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. h]h)}(hAfter 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.h](h,After starting the workload, let it run for }(hjU hhhNhNubj4)}(h*s*h]hs}(hj] hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjU ubh seconds before starting collecting the data, allowing the system to warm-up. Statistical data generated during warm-up is discarded.}(hjU hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK3hjQ ubah}(h]h ]h"]h$]h&]uh1jshjhK3hj%hhubj)}(hhh]j$)}(h]**--trace-buffer-size** *kB* Set the per-cpu trace buffer size in kB for the tracing output. h](j*)}(h**--trace-buffer-size** *kB*h](j )}(h**--trace-buffer-size**h]h--trace-buffer-size}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh }(hj hhhNhNubj4)}(h*kB*h]hkB}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj ubeh}(h]h ]h"]h$]h&]uh1j)hjhK6hj~ ubjV)}(hhh]h)}(h?Set the per-cpu trace buffer size in kB for the tracing output.h]h?Set the per-cpu trace buffer size in kB for the tracing output.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK6hj ubah}(h]h ]h"]h$]h&]uh1jUhj~ ubeh}(h]h ]h"]h$]h&]uh1j#hjhK6hj{ ubah}(h]h ]h"]h$]h&]uh1jhj%hhhjhNubh)}(h**-h**, **--help**h](j )}(h**-h**h]h-h}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh, }(hj hhhNhNubj )}(h **--help**h]h--help}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1hhjhK8hj%hhubjt)}(hPrint help menu. h]h)}(hPrint help menu.h]hPrint help menu.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK:hj ubah}(h]h ]h"]h$]h&]uh1jshjhK:hj%hhubeh}(h]optionsah ]h"]optionsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hEXAMPLEh]hEXAMPLE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK"ubh)}(hXZIn the example below, the **rtla osnoise top** tool is set to run with a real-time priority *FIFO:1*, on CPUs *0-3*, for *900ms* at each period (*1s* by default). The reason for reducing the runtime is to avoid starving the rtla tool. The tool is also set to run for *one minute* and to display a summary of the report at the end of the session::h](hIn the example below, the }(hj* hhhNhNubj )}(h**rtla osnoise top**h]hrtla osnoise top}(hj2 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj* ubh. tool is set to run with a real-time priority }(hj* hhhNhNubj4)}(h*FIFO:1*h]hFIFO:1}(hjD hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj* ubh , on CPUs }(hj* hhhNhNubj4)}(h*0-3*h]h0-3}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj* ubh, for }(hj* hhhNhNubj4)}(h*900ms*h]h900ms}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj* ubh at each period (}(hj* hhhNhNubj4)}(h*1s*h]h1s}(hjz hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj* ubhv by default). The reason for reducing the runtime is to avoid starving the rtla tool. The tool is also set to run for }(hj* hhhNhNubj4)}(h *one minute*h]h one minute}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hj* ubhB and to display a summary of the report at the end of the session:}(hj* hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK#hj hhubh literal_block)}(hX\[root@f34 ~]# rtla osnoise top -P F:1 -c 0-3 -r 900000 -d 1M -q Operating System Noise duration: 0 00:01:00 | time is in us CPU Period Runtime Noise % CPU Aval Max Noise Max Single HW NMI IRQ Softirq Thread 0 #59 53100000 304896 99.42580 6978 56 549 0 53111 1590 13 1 #59 53100000 338339 99.36282 8092 24 399 0 53130 1448 31 2 #59 53100000 290842 99.45227 6582 39 855 0 53110 1406 12 3 #59 53100000 204935 99.61405 6251 33 290 0 53156 1460 12h]hX\[root@f34 ~]# rtla osnoise top -P F:1 -c 0-3 -r 900000 -d 1M -q Operating System Noise duration: 0 00:01:00 | time is in us CPU Period Runtime Noise % CPU Aval Max Noise Max Single HW NMI IRQ Softirq Thread 0 #59 53100000 304896 99.42580 6978 56 549 0 53111 1590 13 1 #59 53100000 338339 99.36282 8092 24 399 0 53130 1448 31 2 #59 53100000 290842 99.45227 6582 39 855 0 53110 1406 12 3 #59 53100000 204935 99.61405 6251 33 290 0 53156 1460 12}hj sbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1j hhhK)hj hhubeh}(h]exampleah ]h"]exampleah$]h&]uh1hhhhhhhhK"ubh)}(hhh](h)}(hSEE ALSOh]hSEE ALSO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK3ubh)}(h/**rtla-osnoise**\(1), **rtla-osnoise-hist**\(1)h](j )}(h**rtla-osnoise**h]h rtla-osnoise}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh(1), }(hj hhhNhNubj )}(h**rtla-osnoise-hist**h]hrtla-osnoise-hist}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh(1)}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK5hj hhubh)}(h`Osnoise tracer documentation: h](hOsnoise tracer documentation: <}(hj hhhNhNubj)}(h@https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.htmlh]h@https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.html}(hj hhhNhNubah}(h]h ]h"]h$]h&]refurij uh1jhj ubh>}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK7hj hhubeh}(h]see-alsoah ]h"]see alsoah$]h&]uh1hhhhhhhhK3ubh)}(hhh](h)}(hAUTHORh]hAUTHOR}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj& hhhhhK:ubh)}(h:Written by Daniel Bristot de Oliveira h](h'Written by Daniel Bristot de Oliveira <}(hj7 hhhNhNubj)}(hbristot@kernel.orgh]hbristot@kernel.org}(hj? hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:bristot@kernel.orguh1jhj7 ubh>}(hj7 hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK;hj& hhubeh}(h]authorah ]h"]authorah$]h&]uh1hhhhhhhhK:ubh)}(hhh](h)}(hREPORTING BUGSh]hREPORTING BUGS}(hjd hhhNhNubah}(h]h ]h"]h$]h&]uh1hhja hhh,Documentation/tools/rtla/common_appendix.rsthKubh)}(hUReport bugs to and h](hReport bugs to <}(hjs hhhNhNubj)}(hlinux-kernel@vger.kernel.orgh]hlinux-kernel@vger.kernel.org}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]refuri#mailto:linux-kernel@vger.kernel.orguh1jhjs ubh> and <}(hjs hhhNhNubj)}(h!linux-trace-devel@vger.kernel.orgh]h!linux-trace-devel@vger.kernel.org}(hj hhhNhNubah}(h]h ]h"]h$]h&]refuri(mailto:linux-trace-devel@vger.kernel.orguh1jhjs ubh>}(hjs hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjr hKhja hhubeh}(h]reporting-bugsah ]h"]reporting bugsah$]h&]uh1hhhhhhjr hKubh)}(hhh](h)}(hLICENSEh]hLICENSE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhjr hKubh)}(h6**rtla** is Free Software licensed under the GNU GPLv2h](j )}(h**rtla**h]hrtla}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh. is Free Software licensed under the GNU GPLv2}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjr hKhj hhubeh}(h]licenseah ]h"]licenseah$]h&]uh1hhhhhhjr hKubh)}(hhh](h)}(hCOPYINGh]hCOPYING}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhjr hK ubh)}(hwCopyright \(C) 2021 Red Hat, Inc. Free use of this software is granted under the terms of the GNU Public License (GPL).h]hwCopyright (C) 2021 Red Hat, Inc. Free use of this software is granted under the terms of the GNU Public License (GPL).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjr hK hj hhubeh}(h]copyingah ]h"]copyingah$]h&]uh1hhhhhhjr hK ubeh}(h]/display-a-summary-of-the-operating-system-noiseah ]h"]/display a summary of the operating system noiseah$]h&]uh1hhhhhhhhKubeh}(h]rtla-osnoise-topah ]h"]rtla-osnoise-topah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj@error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jjjjjRjOj"jj j j j j# j j^ j[ j j j j j ju nametypes}(jjjRj"j j j# j^ j j j uh}(jhjhjOj jjUj j%j j j j j[ j& j ja j j jj u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log]-Documentation/tools/rtla/rtla-osnoise-top.rst(NNNNta decorationNhhub.