Hsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget6/translations/zh_CN/tools/rtla/common_timerlat_optionsmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget6/translations/zh_TW/tools/rtla/common_timerlat_optionsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget6/translations/it_IT/tools/rtla/common_timerlat_optionsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget6/translations/ja_JP/tools/rtla/common_timerlat_optionsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget6/translations/ko_KR/tools/rtla/common_timerlat_optionsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget6/translations/sp_SP/tools/rtla/common_timerlat_optionsmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubh paragraph)}(h**-a**, **--auto** *us*h](hstrong)}(h**-a**h]h-a}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh, }(hhhhhNhNubh)}(h **--auto**h]h--auto}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh }(hhhhhNhNubhemphasis)}(h*us*h]hus}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhP/var/lib/git/docbuild/linux/Documentation/tools/rtla/common_timerlat_options.rsthKhhhhubh block_quote)}(hXSet the automatic trace mode. This mode sets some commonly used options while debugging the system. It is equivalent to use **-T** *us* **-s** *us* **-t**. By default, *timerlat* tracer uses FIFO:95 for *timerlat* threads, thus equilavent to **-P** *f:95*. h]h)}(hXSet the automatic trace mode. This mode sets some commonly used options while debugging the system. It is equivalent to use **-T** *us* **-s** *us* **-t**. By default, *timerlat* tracer uses FIFO:95 for *timerlat* threads, thus equilavent to **-P** *f:95*.h](h|Set the automatic trace mode. This mode sets some commonly used options while debugging the system. It is equivalent to use }(hhhhhNhNubh)}(h**-T**h]h-T}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh }(hhhhhNhNubh)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh }hhsbh)}(h**-s**h]h-s}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh }hhsbh)}(h*us*h]hus}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh }(hhhhhNhNubh)}(h**-t**h]h-t}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh. By default, }(hhhhhNhNubh)}(h *timerlat*h]htimerlat}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh tracer uses FIFO:95 for }(hhhhhNhNubh)}(h *timerlat*h]htimerlat}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh threads, thus equilavent to }(hhhhhNhNubh)}(h**-P**h]h-P}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh }hhsbh)}(h*f:95*h]hf:95}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h**-p**, **--period** *us*h](h)}(h**-p**h]h-p}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh, }(hjhhhNhNubh)}(h **--period**h]h--period}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh }(hjhhhNhNubh)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h2Set the *timerlat* tracer period in microseconds. h]h)}(h1Set the *timerlat* tracer period in microseconds.h](hSet the }(hjhhhNhNubh)}(h *timerlat*h]htimerlat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh tracer period in microseconds.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(h**-i**, **--irq** *us*h](h)}(h**-i**h]h-i}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh, }(hjhhhNhNubh)}(h **--irq**h]h--irq}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh }(hjhhhNhNubh)}(h*us*h]hus}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hCStop trace if the *IRQ* latency is higher than the argument in us. h]h)}(hBStop trace if the *IRQ* latency is higher than the argument in us.h](hStop trace if the }(hjFhhhNhNubh)}(h*IRQ*h]hIRQ}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjFubh+ latency is higher than the argument in us.}(hjFhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjBubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h**-T**, **--thread** *us*h](h)}(h**-T**h]h-T}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubh, }(hjlhhhNhNubh)}(h **--thread**h]h--thread}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubh }(hjlhhhNhNubh)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjlubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hFStop trace if the *Thread* latency is higher than the argument in us. h]h)}(hEStop trace if the *Thread* latency is higher than the argument in us.h](hStop trace if the }(hjhhhNhNubh)}(h*Thread*h]hThread}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh+ latency is higher than the argument in us.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h**-s**, **--stack** *us*h](h)}(h**-s**h]h-s}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh, }(hjhhhNhNubh)}(h **--stack**h]h--stack}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh }(hjhhhNhNubh)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h[Save the stack trace at the *IRQ* if a *Thread* latency is higher than the argument in us. h]h)}(hZSave the stack trace at the *IRQ* if a *Thread* latency is higher than the argument in us.h](hSave the stack trace at the }(hjhhhNhNubh)}(h*IRQ*h]hIRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh if a }(hjhhhNhNubh)}(h*Thread*h]hThread}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh+ latency is higher than the argument in us.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h**-t**, **--trace** \[*file*]h](h)}(h**-t**h]h-t}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubh, }(hjJhhhNhNubh)}(h **--trace**h]h--trace}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubh [}(hjJhhhNhNubh)}(h*file*h]hfile}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubh]}(hjJhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h7Save the stopped trace to [*file|timerlat_trace.txt*]. h]h)}(h6Save the stopped trace to [*file|timerlat_trace.txt*].h](hSave the stopped trace to [}(hjhhhNhNubh)}(h*file|timerlat_trace.txt*h]hfile|timerlat_trace.txt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh].}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhdefinition_list)}(hhh](hdefinition_list_item)}(h**--dma-latency** *us* Set the /dev/cpu_dma_latency to *us*, aiming to bound exit from idle latencies. *cyclictest* sets this value to *0* by default, use **--dma-latency** *0* to have similar results. h](hterm)}(h**--dma-latency** *us*h](h)}(h**--dma-latency**h]h --dma-latency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh }(hjhhhNhNubh)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1jhhhK hjubh definition)}(hhh]h)}(hSet the /dev/cpu_dma_latency to *us*, aiming to bound exit from idle latencies. *cyclictest* sets this value to *0* by default, use **--dma-latency** *0* to have similar results.h](h Set the /dev/cpu_dma_latency to }(hjhhhNhNubh)}(h*us*h]hus}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh,, aiming to bound exit from idle latencies. }(hjhhhNhNubh)}(h *cyclictest*h]h cyclictest}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh sets this value to }(hjhhhNhNubh)}(h*0*h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh by default, use }(hjhhhNhNubh)}(h**--dma-latency**h]h --dma-latency}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh }(hjhhhNhNubh)}(h*0*h]h0}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh to have similar results.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK hjubj)}(hXR**--deepest-idle-state** *n* Disable idle states higher than *n* for cpus that are running timerlat threads to reduce exit from idle latencies. If *n* is -1, all idle states are disabled. On exit from timerlat, the idle state setting is restored to its original state before running timerlat. Requires rtla to be built with libcpupower. h](j)}(h**--deepest-idle-state** *n*h](h)}(h**--deepest-idle-state**h]h--deepest-idle-state}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhubh }(hjhhhhNhNubh)}(h*n*h]hn}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhubeh}(h]h ]h"]h$]h&]uh1jhhhK(hjdubj)}(hhh](h)}(hXDisable idle states higher than *n* for cpus that are running timerlat threads to reduce exit from idle latencies. If *n* is -1, all idle states are disabled. On exit from timerlat, the idle state setting is restored to its original state before running timerlat.h](h Disable idle states higher than }(hjhhhNhNubh)}(h*n*h]hn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubhS for cpus that are running timerlat threads to reduce exit from idle latencies. If }(hjhhhNhNubh)}(h*n*h]hn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh is -1, all idle states are disabled. On exit from timerlat, the idle state setting is restored to its original state before running timerlat.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK#hjubh)}(h+Requires rtla to be built with libcpupower.h]h+Requires rtla to be built with libcpupower.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK(hjubeh}(h]h ]h"]h$]h&]uh1jhjdubeh}(h]h ]h"]h$]h&]uh1jhhhK(hjhhubeh}(h]h ]h"]h$]h&]uh1jhhhhhhhNubh)}(h**-k**, **--kernel-threads**h](h)}(h**-k**h]h-k}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh, }(hjhhhNhNubh)}(h**--kernel-threads**h]h--kernel-threads}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1hhhhK*hhhhubh)}(h:Use timerlat kernel-space threads, in contrast of **-u**. h]h)}(h9Use timerlat kernel-space threads, in contrast of **-u**.h](h2Use timerlat kernel-space threads, in contrast of }(hjhhhNhNubh)}(h**-u**h]h-u}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1hhhhK,hhhhubh)}(h**-u**, **--user-threads**h](h)}(h**-u**h]h-u}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubh, }(hj;hhhNhNubh)}(h**--user-threads**h]h--user-threads}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj;ubeh}(h]h ]h"]h$]h&]uh1hhhhK.hhhhubh)}(hX;Set timerlat to run without a workload, and then dispatches user-space workloads to wait on the timerlat_fd. Once the workload is awakes, it goes to sleep again adding so the measurement for the kernel-to-user and user-to-kernel to the tracer output. **--user-threads** will be used unless the user specify **-k**. h]h)}(hX:Set timerlat to run without a workload, and then dispatches user-space workloads to wait on the timerlat_fd. Once the workload is awakes, it goes to sleep again adding so the measurement for the kernel-to-user and user-to-kernel to the tracer output. **--user-threads** will be used unless the user specify **-k**.h](hSet timerlat to run without a workload, and then dispatches user-space workloads to wait on the timerlat_fd. Once the workload is awakes, it goes to sleep again adding so the measurement for the kernel-to-user and user-to-kernel to the tracer output. }(hjihhhNhNubh)}(h**--user-threads**h]h--user-threads}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubh& will be used unless the user specify }(hjihhhNhNubh)}(h**-k**h]h-k}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjiubh.}(hjihhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK0hjeubah}(h]h ]h"]h$]h&]uh1hhhhK0hhhhubh)}(h**-U**, **--user-load**h](h)}(h**-U**h]h-U}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubh, }(hjhhhNhNubh)}(h**--user-load**h]h --user-load}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1hhhhK5hhhhubh)}(hSet timerlat to run without workload, waiting for the user to dispatch a per-cpu task that waits for a new period on the tracing/osnoise/per_cpu/cpu$ID/timerlat_fd. See linux/tools/rtla/sample/timerlat_load.py for an example of user-load code.h]h)}(hSet timerlat to run without workload, waiting for the user to dispatch a per-cpu task that waits for a new period on the tracing/osnoise/per_cpu/cpu$ID/timerlat_fd. See linux/tools/rtla/sample/timerlat_load.py for an example of user-load code.h]hSet timerlat to run without workload, waiting for the user to dispatch a per-cpu task that waits for a new period on the tracing/osnoise/per_cpu/cpu$ID/timerlat_fd. See linux/tools/rtla/sample/timerlat_load.py for an example of user-load code.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1hhhhK7hhhhubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(titleN 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_handlerjerror_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} nametypes}h} 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] decorationNhhub.