*sphinx.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-hwnoisemodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/zh_TW/tools/rtla/rtla-hwnoisemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/it_IT/tools/rtla/rtla-hwnoisemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ja_JP/tools/rtla/rtla-hwnoisemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ko_KR/tools/rtla/rtla-hwnoisemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/sp_SP/tools/rtla/rtla-hwnoisemodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhE/var/lib/git/docbuild/linux/Documentation/tools/rtla/rtla-hwnoise.rsthKubhsubstitution_definition)}(h.. |tool| replace:: hwnoise h]hhwnoise}hhsbah}(h]h ]h"]toolah$]h&]uh1hhhhKhhhhubhsection)}(hhh](htitle)}(h rtla-hwnoiseh]h rtla-hwnoise}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h*Detect and quantify hardware-related noiseh]h*Detect and quantify hardware-related noise}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh 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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hhhK hjubah}(h]h ]h"]h$]h&]uh1jhhubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hSYNOPSISh]hSYNOPSIS}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj-hhhhhKubj )}(h**rtla hwnoise** [*OPTIONS*]h](hstrong)}(h**rtla hwnoise**h]h rtla hwnoise}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj>ubh [}(hj>hhhNhNubhemphasis)}(h *OPTIONS*h]hOPTIONS}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj>ubh]}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhKhj-hhubeh}(h]synopsisah ]h"]synopsisah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h DESCRIPTIONh]h DESCRIPTION}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxhhhhhKubj )}(h**rtla hwnoise** collects the periodic summary from the *osnoise* tracer running with *interrupts disabled*. By disabling interrupts, and the scheduling of threads as a consequence, only non-maskable interrupts and hardware-related noise is allowed.h](jC)}(h**rtla hwnoise**h]h rtla hwnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh( collects the periodic summary from the }(hjhhhNhNubjW)}(h *osnoise*h]hosnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh tracer running with }(hjhhhNhNubjW)}(h*interrupts disabled*h]hinterrupts disabled}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh. By disabling interrupts, and the scheduling of threads as a consequence, only non-maskable interrupts and hardware-related noise is allowed.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhKhjxhhubj )}(hhThe tool also allows the configurations of the *osnoise* tracer and the collection of the tracer output.h](h/The tool also allows the configurations of the }(hjhhhNhNubjW)}(h *osnoise*h]hosnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh0 tracer and the collection of the tracer output.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhKhjxhhubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hOPTIONSh]hOPTIONS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hN.. |threshold| replace:: **-a/--auto**, **-s/--stop**, or **-S/--stop-total**h](jC)}(h **-a/--auto**h]h -a/--auto}hjsbah}(h]h ]h"]h$]h&]uh1jBhjubh, }hjsbjC)}(h **-s/--stop**h]h -s/--stop}hjsbah}(h]h ]h"]h$]h&]uh1jBhjubh, or }hjsbjC)}(h**-S/--stop-total**h]h-S/--stop-total}hj*sbah}(h]h ]h"]h$]h&]uh1jBhjubeh}(h]h ]h"] thresholdah$]h&]uh1hh3Documentation/tools/rtla/common_osnoise_options.rsthKhjhhubh)}(h.. |thresharg| replace:: -sh]h-s}hj@sbah}(h]h ]h"] threshargah$]h&]uh1hhj?hKhjhhubh)}(h".. |tracer| replace:: osnoise h]hosnoise}hjOsbah}(h]h ]h"]tracerah$]h&]uh1hhj?hKhjhhubh)}(h.. |actionsperf| replace:: Due to implementational limitations, actions might be delayed up to one second after tracing is stopped. h]hhDue to implementational limitations, actions might be delayed up to one second after tracing is stopped.}hj^sbah}(h]h ]h"] actionsperfah$]h&]uh1hhj?hKhjhhubj )}(h**-a**, **--auto** *us*h](jC)}(h**-a**h]h-a}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjmubh, }(hjmhhhNhNubjC)}(h **--auto**h]h--auto}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjmubh }(hjmhhhNhNubjW)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjmubeh}(h]h ]h"]h$]h&]uh1j hj?hK hjhhubh 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]j )}(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 }(hjhhhNhNubjC)}(h**-s**h]h-s}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh }(hjhhhNhNubjW)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh }hjsbjC)}(h **-T 1 -t**h]h-T 1 -t}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj?hK hjubah}(h]h ]h"]h$]h&]uh1jhj?hK hjhhubj )}(h**-p**, **--period** *us*h](jC)}(h**-p**h]h-p}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh, }(hjhhhNhNubjC)}(h **--period**h]h--period}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh }(hjhhhNhNubjW)}(h*us*h]hus}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubeh}(h]h ]h"]h$]h&]uh1j hj?hKhjhhubj)}(h1Set the *osnoise* tracer period in microseconds. h]j )}(h0Set the *osnoise* tracer period in microseconds.h](hSet the }(hj9hhhNhNubjW)}(h *osnoise*h]hosnoise}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj9ubh tracer period in microseconds.}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj?hKhj5ubah}(h]h ]h"]h$]h&]uh1jhj?hKhjhhubj )}(h**-r**, **--runtime** *us*h](jC)}(h**-r**h]h-r}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj_ubh, }(hj_hhhNhNubjC)}(h **--runtime**h]h --runtime}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj_ubh }(hj_hhhNhNubjW)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj_ubeh}(h]h ]h"]h$]h&]uh1j hj?hKhjhhubj)}(h2Set the *osnoise* tracer runtime in microseconds. h]j )}(h1Set the *osnoise* tracer runtime in microseconds.h](hSet the }(hjhhhNhNubjW)}(h *osnoise*h]hosnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh tracer runtime in microseconds.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj?hKhjubah}(h]h ]h"]h$]h&]uh1jhj?hKhjhhubj )}(h**-s**, **--stop** *us*h](jC)}(h**-s**h]h-s}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh, }(hjhhhNhNubjC)}(h **--stop**h]h--stop}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh }(hjhhhNhNubjW)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubeh}(h]h ]h"]h$]h&]uh1j hj?hKhjhhubj)}(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]j )}(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 }(hjhhhNhNubjC)}(h**-T**h]h-T}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh3 is set, it will also save the trace to the output.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj?hKhjubah}(h]h ]h"]h$]h&]uh1jhj?hKhjhhubj )}(h**-S**, **--stop-total** *us*h](jC)}(h**-S**h]h-S}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj+ubh, }(hj+hhhNhNubjC)}(h**--stop-total**h]h --stop-total}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj+ubh }(hj+hhhNhNubjW)}(h*us*h]hus}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj+ubeh}(h]h ]h"]h$]h&]uh1j hj?hKhjhhubj)}(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]j )}(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 }(hjkhhhNhNubjC)}(h**-T**h]h-T}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjkubh3 is set, it will also save the trace to the output.}(hjkhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj?hKhjgubah}(h]h ]h"]h$]h&]uh1jhj?hKhjhhubj )}(h**-T**, **--threshold** *us*h](jC)}(h**-T**h]h-T}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh, }(hjhhhNhNubjC)}(h**--threshold**h]h --threshold}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh }(hjhhhNhNubjW)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubeh}(h]h ]h"]h$]h&]uh1j hj?hK hjhhubj)}(hjSpecify the minimum delta between two time reads to be considered noise. The default threshold is *5 us*. h]j )}(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 }(hjhhhNhNubjW)}(h*5 us*h]h5 us}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj?hK"hjubah}(h]h ]h"]h$]h&]uh1jhj?hK"hjhhubj )}(h**-t**, **--trace** \[*file*]h](jC)}(h**-t**h]h-t}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh, }(hjhhhNhNubjC)}(h **--trace**h]h--trace}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh [}(hjhhhNhNubjW)}(h*file*h]hfile}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh]}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj?hK%hjhhubj)}(h6Save the stopped trace to [*file|osnoise_trace.txt*]. h]j )}(h5Save the stopped trace to [*file|osnoise_trace.txt*].h](hSave the stopped trace to [}(hj;hhhNhNubjW)}(h*file|osnoise_trace.txt*h]hfile|osnoise_trace.txt}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj;ubh].}(hj;hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj?hK'hj7ubah}(h]h ]h"]h$]h&]uh1jhj?hK'hjhhubj )}(h**-q**, **--quiet**h](jC)}(h**-q**h]h-q}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjaubh, }(hjahhhNhNubjC)}(h **--quiet**h]h--quiet}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjaubeh}(h]h ]h"]h$]h&]uh1j h/Documentation/tools/rtla/common_top_options.rsthKhjhhubj)}(h0Print only a summary at the end of the session. h]j )}(h/Print only a summary at the end of the session.h]h/Print only a summary at the end of the session.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubj )}(h**-c**, **--cpus** *cpu-list*h](jC)}(h**-c**h]h-c}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh, }(hjhhhNhNubjC)}(h **--cpus**h]h--cpus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh }(hjhhhNhNubjW)}(h *cpu-list*h]hcpu-list}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubeh}(h]h ]h"]h$]h&]uh1j h+Documentation/tools/rtla/common_options.rsthKhjhhubj)}(hBSet the osnoise tracer to run the sample threads in the cpu-list. h]j )}(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&]uh1j hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubj )}(h&**-H**, **--house-keeping** *cpu-list*h](jC)}(h**-H**h]h-H}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh, }(hjhhhNhNubjC)}(h**--house-keeping**h]h--house-keeping}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh }(hjhhhNhNubjW)}(h *cpu-list*h]hcpu-list}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubeh}(h]h ]h"]h$]h&]uh1j hjhKhjhhubj)}(h5Run rtla control threads only on the given cpu-list. h]j )}(h4Run rtla control threads only on the given cpu-list.h]h4Run rtla control threads only on the given cpu-list.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKhj5ubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubj )}(h&**-d**, **--duration** *time[s|m|h|d]*h](jC)}(h**-d**h]h-d}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjMubh, }(hjMhhhNhNubjC)}(h**--duration**h]h --duration}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjMubh }(hjMhhhNhNubjW)}(h*time[s|m|h|d]*h]h time[s|m|h|d]}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjMubeh}(h]h ]h"]h$]h&]uh1j hjhK hjhhubj)}(h!Set the duration of the session. h]j )}(h Set the duration of the session.h]h Set the duration of the session.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhK hjubah}(h]h ]h"]h$]h&]uh1jhjhK hjhhubj )}(h**-D**, **--debug**h](jC)}(h**-D**h]h-D}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh, }(hjhhhNhNubjC)}(h **--debug**h]h--debug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubeh}(h]h ]h"]h$]h&]uh1j hjhK hjhhubj)}(hPrint debug info. h]j )}(hPrint debug info.h]hPrint debug info.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubj )}(h**-e**, **--event** *sys:event*h](jC)}(h**-e**h]h-e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh, }(hjhhhNhNubjC)}(h **--event**h]h--event}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh }(hjhhhNhNubjW)}(h *sys:event*h]h sys:event}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubeh}(h]h ]h"]h$]h&]uh1j hjhKhjhhubj)}(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]j )}(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 (}(hj#hhhNhNubjC)}(h**-t**h]h-t}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj#ubh7) session. The argument can be a specific event, e.g., }(hj#hhhNhNubjC)}(h**-e**h]h-e}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj#ubh }(hj#hhhNhNubjW)}(h*sched:sched_switch*h]hsched:sched_switch}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj#ubh), or all events of a system group, e.g., }(hj#hhhNhNubjC)}(h**-e**h]h-e}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj#ubh }hj#sbjW)}(h*sched*h]hsched}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj#ubh . Multiple }(hj#hhhNhNubjC)}(h**-e**h]h-e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj#ubh% are allowed. It is only active when }(hj#hhhNhNubjC)}(h**-t**h]h-t}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj#ubh or }(hj#hhhNhNubjC)}(h**-a**h]h-a}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj#ubh are set.}(hj#hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubj )}(h**--filter** **h](jC)}(h **--filter**h]h--filter}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh }(hjhhhNhNubjW)}(h **h]h}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubeh}(h]h ]h"]h$]h&]uh1j hjhKhjhhubj)}(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]j )}(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 }(hjhhhNhNubjC)}(h**-e**h]h-e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh }(hjhhhNhNubjW)}(h *sys:event*h]h sys:event}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh event with }(hjhhhNhNubjW)}(h **h]h}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh4. 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}(hj5hhhNhNubah}(h]h ]h"]h$]h&]refurij7uh1j3hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubhdefinition_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](jC)}(h **--trigger**h]h --trigger}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjaubh }(hjahhhNhNubjW)}(h **h]h }(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjaubeh}(h]h ]h"]h$]h&]uh1j_hjhK"hj[ubh definition)}(hhh](j )}(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 }(hjhhhNhNubjC)}(h**-e**h]h-e}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh }(hjhhhNhNubjW)}(h *sys:event*h]h sys:event}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh . If the }(hjhhhNhNubjW)}(h*hist:*h]hhist:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubhX trigger is activated, the output histogram will be automatically saved to a file named }(hjhhhNhNubjW)}(h*system_event_hist.txt*h]hsystem_event_hist.txt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh. For example, the command:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhKhjubj )}(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&]uh1j hjhKhjubj )}(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 }(hjhhhNhNubjW)}(h*osnoise:irq_noise*h]hosnoise:irq_noise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh event in }(hjhhhNhNubjW)}(h*osnoise_irq_noise_hist.txt*h]hosnoise_irq_noise_hist.txt}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK hjubj )}(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 }(hj& hhhNhNubj4)}(hGhttps://www.kernel.org/doc/html/latest/trace/events.html#event-triggersh]hGhttps://www.kernel.org/doc/html/latest/trace/events.html#event-triggers}(hj. hhhNhNubah}(h]h ]h"]h$]h&]refurij0 uh1j3hj& ubh.}(hj& hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK"hjubeh}(h]h ]h"]h$]h&]uh1jhj[ubeh}(h]h ]h"]h$]h&]uh1jYhjhK"hjVubah}(h]h ]h"]h$]h&]uh1jThjhhhjhNubj )}(h>**-P**, **--priority** *o:prio|r:prio|f:prio|d:runtime:period*h](jC)}(h**-P**h]h-P}(hj] hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjY ubh, }(hjY hhhNhNubjC)}(h**--priority**h]h --priority}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjY ubh }(hjY hhhNhNubjW)}(h'*o:prio|r:prio|f:prio|d:runtime:period*h]h%o:prio|r:prio|f:prio|d:runtime:period}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjY ubeh}(h]h ]h"]h$]h&]uh1j hjhK$hjhhubj)}(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](j )}(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:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhK&hj ubh bullet_list)}(hhh](h list_item)}(h'*o:prio* - use SCHED_OTHER with *prio*;h]j )}(hj h](jW)}(h*o:prio*h]ho:prio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh - use SCHED_OTHER with }(hj hhhNhNubjW)}(h*prio*h]hprio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh;}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK(hj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(h$*r:prio* - use SCHED_RR with *prio*;h]j )}(hj h](jW)}(h*r:prio*h]hr:prio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh - use SCHED_RR with }(hj hhhNhNubjW)}(h*prio*h]hprio}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh;}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK)hj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(h&*f:prio* - use SCHED_FIFO with *prio*;h]j )}(hj h](jW)}(h*f:prio*h]hf:prio}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh - use SCHED_FIFO with }(hj hhhNhNubjW)}(h*prio*h]hprio}(hj5 hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh;}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK*hj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hf*d:runtime[us|ms|s]:period[us|ms|s]* - use SCHED_DEADLINE with *runtime* and *period* in nanoseconds. h]j )}(he*d:runtime[us|ms|s]:period[us|ms|s]* - use SCHED_DEADLINE with *runtime* and *period* in nanoseconds.h](jW)}(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&]uh1jVhjW ubh - use SCHED_DEADLINE with }(hjW hhhNhNubjW)}(h *runtime*h]hruntime}(hjm hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjW ubh and }(hjW hhhNhNubjW)}(h*period*h]hperiod}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjW ubh in nanoseconds.}(hjW hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK+hjS ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]bullet-uh1j hjhK(hj ubeh}(h]h ]h"]h$]h&]uh1jhjhK&hjhhubj )}(h **-C**, **--cgroup**\[*=cgroup*]h](jC)}(h**-C**h]h-C}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj ubh, }(hj hhhNhNubjC)}(h **--cgroup**h]h--cgroup}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj ubh[}(hj hhhNhNubjW)}(h *=cgroup*h]h=cgroup}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh]}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK-hjhhubj)}(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]j )}(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 hhhNhNubjW)}(h*cgroup*h]hcgroup}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh# to the tracer’s threads. If the }(hj hhhNhNubjC)}(h**-C**h]h-C}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj ubhH option is passed without arguments, the tracer’s thread will inherit }(hj hhhNhNubjC)}(h**rtla**h]hrtla}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj ubh’s }(hj hhhNhNubjW)}(h*cgroup*h]hcgroup}(hj- hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh/. Otherwise, the threads will be placed on the }(hj hhhNhNubjW)}(h*cgroup*h]hcgroup}(hj? hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh passed to the option.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK/hj ubah}(h]h ]h"]h$]h&]uh1jhjhK/hjhhubj )}(h**--warm-up** *s*h](jC)}(h **--warm-up**h]h --warm-up}(hja hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj] ubh }(hj] hhhNhNubjW)}(h*s*h]hs}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj] ubeh}(h]h ]h"]h$]h&]uh1j hjhK1hjhhubj)}(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]j )}(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 }(hj hhhNhNubjW)}(h*s*h]hs}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh seconds before starting collecting the data, allowing the system to warm-up. Statistical data generated during warm-up is discarded.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK3hj ubah}(h]h ]h"]h$]h&]uh1jhjhK3hjhhubjU)}(hhh]jZ)}(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](jC)}(h**--trace-buffer-size**h]h--trace-buffer-size}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj ubh }(hj hhhNhNubjW)}(h*kB*h]hkB}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubeh}(h]h ]h"]h$]h&]uh1j_hjhK6hj ubj)}(hhh]j )}(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&]uh1j hjhK6hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jYhjhK6hj ubah}(h]h ]h"]h$]h&]uh1jThjhhhjhNubj )}(h**--on-threshold** *action*h](jC)}(h**--on-threshold**h]h--on-threshold}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj ubh }(hj hhhNhNubjW)}(h*action*h]haction}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubeh}(h]h ]h"]h$]h&]uh1j hjhK8hjhhubj)}(hXDefines an action to be executed when tracing is stopped on a latency threshold specified by |threshold|. Multiple --on-threshold actions may be specified, and they will be executed in the order they are provided. If any action fails, subsequent actions in the list will not be executed. Supported actions are: - *trace[,file=]* Saves trace output, optionally taking a filename. Alternative to -t/--trace. Note that nlike -t/--trace, specifying this multiple times will result in the trace being saved multiple times. - *signal,num=,pid=* Sends signal to process. "parent" might be specified in place of pid to target the parent process of rtla. - *shell,command=* Execute shell command. - *continue* Continue tracing after actions are executed instead of stopping. Example: $ rtla |tool| |thresharg| 20 --on-threshold trace --on-threshold shell,command="grep ipi_send |tracer|\_trace.txt" --on-threshold signal,num=2,pid=parent This will save a trace with the default filename "|tracer|\_trace.txt", print its lines that contain the text "ipi_send" on standard output, and send signal 2 (SIGINT) to the parent process. Performance Considerations: |actionsperf| h](j )}(hiDefines an action to be executed when tracing is stopped on a latency threshold specified by |threshold|.h](h]Defines an action to be executed when tracing is stopped on a latency threshold specified by }(hj3 hhhNhNubjC)}(hjh]h -a/--auto}(hj; hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhNhNhj3 hhubh, }(hj3 hhhNhNubjC)}(hjh]h -s/--stop}(hjL hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhNhNhj3 hhubh, or }(hj3 hhhNhNubjC)}(hj,h]h-S/--stop-total}(hj] hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhNhNhj3 hhubh.}(hj3 hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK:hj/ ubj )}(hMultiple --on-threshold actions may be specified, and they will be executed in the order they are provided. If any action fails, subsequent actions in the list will not be executed.h]hMultiple --on-threshold actions may be specified, and they will be executed in the order they are provided. If any action fails, subsequent actions in the list will not be executed.}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhK=hj/ ubj )}(hSupported actions are:h]hSupported actions are:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKAhj/ ubj )}(hhh](j )}(h*trace[,file=]* Saves trace output, optionally taking a filename. Alternative to -t/--trace. Note that nlike -t/--trace, specifying this multiple times will result in the trace being saved multiple times. h](j )}(h*trace[,file=]*h]jW)}(hj h]htrace[,file=]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubah}(h]h ]h"]h$]h&]uh1j hjhKChj ubj )}(hSaves trace output, optionally taking a filename. Alternative to -t/--trace. Note that nlike -t/--trace, specifying this multiple times will result in the trace being saved multiple times.h]hSaves trace output, optionally taking a filename. Alternative to -t/--trace. Note that nlike -t/--trace, specifying this multiple times will result in the trace being saved multiple times.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKEhj ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(h*signal,num=,pid=* Sends signal to process. "parent" might be specified in place of pid to target the parent process of rtla. h](j )}(h*signal,num=,pid=*h]jW)}(hj h]hsignal,num=,pid=}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubah}(h]h ]h"]h$]h&]uh1j hjhKIhj ubj )}(hjSends signal to process. "parent" might be specified in place of pid to target the parent process of rtla.h]hnSends signal to process. “parent” might be specified in place of pid to target the parent process of rtla.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKKhj ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(h2*shell,command=* Execute shell command. h](j )}(h*shell,command=*h]jW)}(hj h]hshell,command=}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubah}(h]h ]h"]h$]h&]uh1j hjhKNhj ubj )}(hExecute shell command.h]hExecute shell command.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKPhj ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(hM*continue* Continue tracing after actions are executed instead of stopping. h](j )}(h *continue*h]jW)}(hj& h]hcontinue}(hj( hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj$ ubah}(h]h ]h"]h$]h&]uh1j hjhKRhj ubj )}(h@Continue tracing after actions are executed instead of stopping.h]h@Continue tracing after actions are executed instead of stopping.}(hj; hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKThj ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]j j uh1j hjhKChj/ ubj )}(hExample:h]hExample:}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKVhj/ ubj )}(h$ rtla |tool| |thresharg| 20 --on-threshold trace --on-threshold shell,command="grep ipi_send |tracer|\_trace.txt" --on-threshold signal,num=2,pid=parenth](h$ rtla }(hjc hhhNhNubhhwnoise}(hjc hhhNhNubh }(hjc hhhNhNubh-s}(hjc hhhNhNubhG 20 --on-threshold trace --on-threshold shell,command=”grep ipi_send }(hjc hhhNhNubhosnoise}(hjc hhhNhNubh5_trace.txt” --on-threshold signal,num=2,pid=parent}(hjc hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhKXhj/ ubj )}(hThis will save a trace with the default filename "|tracer|\_trace.txt", print its lines that contain the text "ipi_send" on standard output, and send signal 2 (SIGINT) to the parent process.h](h4This will save a trace with the default filename “}(hj hhhNhNubhosnoise}(hj hhhNhNubh_trace.txt”, print its lines that contain the text “ipi_send” on standard output, and send signal 2 (SIGINT) to the parent process.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhK\hj/ ubj )}(hPerformance Considerations:h]hPerformance Considerations:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhK`hj/ ubj )}(h |actionsperf|h]hhDue to implementational limitations, actions might be delayed up to one second after tracing is stopped.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKbhj/ ubeh}(h]h ]h"]h$]h&]uh1jhjhK:hjhhubj )}(h**--on-end** *action*h](jC)}(h **--on-end**h]h--on-end}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj ubh }(hj hhhNhNubjW)}(h*action*h]haction}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubeh}(h]h ]h"]h$]h&]uh1j hjhKdhjhhubj)}(hXDefines an action to be executed at the end of tracing. Multiple --on-end actions can be specified, and they will be executed in the order they are provided. If any action fails, subsequent actions in the list will not be executed. See the documentation for **--on-threshold** for the list of supported actions, with the exception that *continue* has no effect. Example: $ rtla |tool| -d 5s --on-end trace This runs rtla with the default options, and saves trace output at the end. h](j )}(h7Defines an action to be executed at the end of tracing.h]h7Defines an action to be executed at the end of tracing.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKfhj ubj )}(hMultiple --on-end actions can be specified, and they will be executed in the order they are provided. If any action fails, subsequent actions in the list will not be executed.h]hMultiple --on-end actions can be specified, and they will be executed in the order they are provided. If any action fails, subsequent actions in the list will not be executed.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKhhj ubj )}(hSee the documentation for **--on-threshold** for the list of supported actions, with the exception that *continue* has no effect.h](hSee the documentation for }(hj hhhNhNubjC)}(h**--on-threshold**h]h--on-threshold}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhj ubh< for the list of supported actions, with the exception that }(hj hhhNhNubjW)}(h *continue*h]hcontinue}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhj ubh has no effect.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhKlhj ubj )}(hExample:h]hExample:}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKohj ubj )}(h"$ rtla |tool| -d 5s --on-end traceh](h$ rtla }(hjKhhhNhNubhhwnoise}(hjKhhhNhNubh -d 5s --on-end trace}(hjKhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hjhKqhj ubj )}(hKThis runs rtla with the default options, and saves trace output at the end.h]hKThis runs rtla with the default options, and saves trace output at the end.}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKshj ubeh}(h]h ]h"]h$]h&]uh1jhjhKfhjhhubj )}(h**-h**, **--help**h](jC)}(h**-h**h]h-h}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjuubh, }(hjuhhhNhNubjC)}(h **--help**h]h--help}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjuubeh}(h]h ]h"]h$]h&]uh1j hjhKuhjhhubj)}(hPrint help menu. h]j )}(hPrint help menu.h]hPrint help menu.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhKwhjubah}(h]h ]h"]h$]h&]uh1jhjhKwhjhhubeh}(h]optionsah ]h"]optionsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hEXAMPLEh]hEXAMPLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK'ubj )}(hIn the example below, the **rtla hwnoise** tool is set to run on CPUs *1-7* on a system with 8 cores/16 threads with hyper-threading enabled.h](hIn the example below, the }(hjhhhNhNubjC)}(h**rtla hwnoise**h]h rtla hwnoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh tool is set to run on CPUs }(hjhhhNhNubjW)}(h*1-7*h]h1-7}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubhB on a system with 8 cores/16 threads with hyper-threading enabled.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhK(hjhhubj )}(hThe tool is set to detect any noise higher than *one microsecond*, to run for *ten minutes*, displaying a summary of the report at the end of the session::h](h0The tool is set to detect any noise higher than }(hjhhhNhNubjW)}(h*one microsecond*h]hone microsecond}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh , to run for }(hjhhhNhNubjW)}(h *ten minutes*h]h ten minutes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjubh?, displaying a summary of the report at the end of the session:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhK+hjhhubh literal_block)}(hX# rtla hwnoise -c 1-7 -T 1 -d 10m -q Hardware-related Noise duration: 0 00:10:00 | time is in us CPU Period Runtime Noise % CPU Aval Max Noise Max Single HW NMI 1 #599 599000000 138 99.99997 3 3 4 74 2 #599 599000000 85 99.99998 3 3 4 75 3 #599 599000000 86 99.99998 4 3 6 75 4 #599 599000000 81 99.99998 4 4 2 75 5 #599 599000000 85 99.99998 2 2 2 75 6 #599 599000000 76 99.99998 2 2 0 75 7 #599 599000000 77 99.99998 3 3 0 75h]hX# rtla hwnoise -c 1-7 -T 1 -d 10m -q Hardware-related Noise duration: 0 00:10:00 | time is in us CPU Period Runtime Noise % CPU Aval Max Noise Max Single HW NMI 1 #599 599000000 138 99.99997 3 3 4 74 2 #599 599000000 85 99.99998 3 3 4 75 3 #599 599000000 86 99.99998 4 3 6 75 4 #599 599000000 81 99.99998 4 4 2 75 5 #599 599000000 85 99.99998 2 2 2 75 6 #599 599000000 76 99.99998 2 2 0 75 7 #599 599000000 77 99.99998 3 3 0 75}hj6sbah}(h]h ]h"]h$]h&]hhuh1j4hhhK/hjhhubj )}(hX<The first column shows the *CPU*, and the second column shows how many *Periods* the tool ran during the session. The *Runtime* is the time the tool effectively runs on the CPU. The *Noise* column is the sum of all noise that the tool observed, and the *% CPU Aval* is the relation between the *Runtime* and *Noise*.h](hThe first column shows the }(hjDhhhNhNubjW)}(h*CPU*h]hCPU}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjDubh', and the second column shows how many }(hjDhhhNhNubjW)}(h *Periods*h]hPeriods}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjDubh& the tool ran during the session. The }(hjDhhhNhNubjW)}(h *Runtime*h]hRuntime}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjDubh7 is the time the tool effectively runs on the CPU. The }(hjDhhhNhNubjW)}(h*Noise*h]hNoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjDubh@ column is the sum of all noise that the tool observed, and the }(hjDhhhNhNubjW)}(h *% CPU Aval*h]h % CPU Aval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjDubh is the relation between the }(hjDhhhNhNubjW)}(h *Runtime*h]hRuntime}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjDubh and }(hjDhhhNhNubjW)}(h*Noise*h]hNoise}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jVhjDubh.}(hjDhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhKh](hOsnoise tracer documentation: <}(hjhhhNhNubj4)}(h@https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.htmlh]h@https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.html}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1j3hjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhKghjhhubeh}(h]see-alsoah ]h"]see alsoah$]h&]uh1hhhhhhhhKcubh)}(hhh](h)}(hAUTHORh]hAUTHOR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKjubj )}(h:Written by Daniel Bristot de Oliveira h](h'Written by Daniel Bristot de Oliveira <}(hjhhhNhNubj4)}(hbristot@kernel.orgh]hbristot@kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:bristot@kernel.orguh1j3hjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hhhKkhjhhubh)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hj!sbah}(h]h ]h"]h$]h&]hhuh1hhjhhh,Documentation/tools/rtla/common_appendix.rsthKubeh}(h]authorah ]h"]authorah$]h&]uh1hhhhhhhhKjubh)}(hhh](h)}(h EXIT STATUSh]h EXIT STATUS}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj8hhhj/hKubj5)}(h0 Passed: the test did not hit the stop tracing condition 1 Error: invalid argument 2 Failed: the test hit the stop tracing conditionh]h0 Passed: the test did not hit the stop tracing condition 1 Error: invalid argument 2 Failed: the test hit the stop tracing condition}hjIsbah}(h]h ]h"]h$]h&]hhuh1j4hj/hKhj8hhubeh}(h] exit-statusah ]h"] exit statusah$]h&]uh1hhhhhhj/hKubh)}(hhh](h)}(hREPORTING BUGSh]hREPORTING BUGS}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj_hhhj/hK ubj )}(hUReport bugs to and h](hReport bugs to <}(hjphhhNhNubj4)}(hlinux-kernel@vger.kernel.orgh]hlinux-kernel@vger.kernel.org}(hjxhhhNhNubah}(h]h ]h"]h$]h&]refuri#mailto:linux-kernel@vger.kernel.orguh1j3hjpubh> and <}(hjphhhNhNubj4)}(h!linux-trace-devel@vger.kernel.orgh]h!linux-trace-devel@vger.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri(mailto:linux-trace-devel@vger.kernel.orguh1j3hjpubh>}(hjphhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj/hKhj_hhubeh}(h]reporting-bugsah ]h"]reporting bugsah$]h&]uh1hhhhhhj/hK ubh)}(hhh](h)}(hLICENSEh]hLICENSE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhj/hKubj )}(h6**rtla** is Free Software licensed under the GNU GPLv2h](jC)}(h**rtla**h]hrtla}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jBhjubh. is Free Software licensed under the GNU GPLv2}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1j hj/hKhjhhubeh}(h]licenseah ]h"]licenseah$]h&]uh1hhhhhhj/hKubh)}(hhh](h)}(hCOPYINGh]hCOPYING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhj/hKubj )}(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).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj/hKhjhhubeh}(h]copyingah ]h"]copyingah$]h&]uh1hhhhhhj/hKubeh}(h]*detect-and-quantify-hardware-related-noiseah ]h"]*detect and quantify hardware-related noiseah$]h&]uh1hhhhhhhhK ubeh}(h] rtla-hwnoiseah ]h"] rtla-hwnoiseah$]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}(hhj<jjLj@j[jOjjj^usubstitution_names}(toolhŒ thresholdj< threshargjLtracerj[ actionsperfjjurefnames}refids}nameids}(jjjj jujrjjjjjjjjj5j2j\jYjjjjjju nametypes}(jjjujjjjj5j\jjjuh}(jhj hjrj-jjxjjjjjjj2jjYj8jj_jjjju 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-hwnoise.rst(NNNNta decorationNhhub.