Asphinx.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-timerlatmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/zh_TW/tools/rtla/rtla-timerlatmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/it_IT/tools/rtla/rtla-timerlatmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ja_JP/tools/rtla/rtla-timerlatmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ko_KR/tools/rtla/rtla-timerlatmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/sp_SP/tools/rtla/rtla-timerlatmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h rtla-timerlath]h rtla-timerlat}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhF/var/lib/git/docbuild/linux/Documentation/tools/rtla/rtla-timerlat.rsthKubh)}(hhh](h)}(h+Measures the operating system timer latencyh]h+Measures the operating system timer latency}(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 timerlat** [*MODE*] ...h](hstrong)}(h**rtla timerlat**h]h rtla timerlat}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh [}(hjhhhNhNubhemphasis)}(h*MODE*h]hMODE}(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)}(hXBThe **rtla timerlat** tool is an interface for the *timerlat* tracer. The *timerlat* tracer dispatches a kernel thread per-cpu. These threads set a periodic timer to wake themselves up and go back to sleep. After the wakeup, they collect and generate useful information for the debugging of operating system timer latency.h](hThe }(hjfhhhNhNubj )}(h**rtla timerlat**h]h rtla timerlat}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfubh tool is an interface for the }(hjfhhhNhNubj4)}(h *timerlat*h]htimerlat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjfubh tracer. The }(hjfhhhNhNubj4)}(h *timerlat*h]htimerlat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjfubh tracer dispatches a kernel thread per-cpu. These threads set a periodic timer to wake themselves up and go back to sleep. After the wakeup, they collect and generate useful information for the debugging of operating system timer latency.}(hjfhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh8Documentation/tools/rtla/common_timerlat_description.rsthKhjUhhubh)}(hThe *timerlat* tracer outputs information in two ways. It periodically prints the timer latency at the timer *IRQ* handler and the *Thread* handler. It also enable the trace of the most relevant information via **osnoise:** tracepoints.h](hThe }(hjhhhNhNubj4)}(h *timerlat*h]htimerlat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh_ tracer outputs information in two ways. It periodically prints the timer latency at the timer }(hjhhhNhNubj4)}(h*IRQ*h]hIRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh handler and the }(hjhhhNhNubj4)}(h*Thread*h]hThread}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubhH handler. It also enable the trace of the most relevant information via }(hjhhhNhNubj )}(h **osnoise:**h]hosnoise:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh tracepoints.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjUhhubh)}(hXThe *timerlat* tracer outputs information in two ways. It periodically prints the timer latency at the timer *IRQ* handler and the *Thread* handler. It also provides information for each noise via the **osnoise:** tracepoints. The **rtla timerlat top** mode displays a summary of the periodic output from the *timerlat* tracer. The **rtla hist hist** mode displays a histogram of each tracer event occurrence. For further details, please refer to the respective man page.h](hThe }(hjhhhNhNubj4)}(h *timerlat*h]htimerlat}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh_ tracer outputs information in two ways. It periodically prints the timer latency at the timer }(hjhhhNhNubj4)}(h*IRQ*h]hIRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh handler and the }(hjhhhNhNubj4)}(h*Thread*h]hThread}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh> handler. It also provides information for each noise via the }(hjhhhNhNubj )}(h **osnoise:**h]hosnoise:}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh tracepoints. The }(hjhhhNhNubj )}(h**rtla timerlat top**h]hrtla timerlat top}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh9 mode displays a summary of the periodic output from the }(hjhhhNhNubj4)}(h *timerlat*h]htimerlat}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh tracer. The }(hjhhhNhNubj )}(h**rtla hist hist**h]hrtla hist hist}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhy mode displays a histogram of each tracer event occurrence. For further details, please refer to the respective man page.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjUhhubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hMODESh]hMODES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(h**top**h]j )}(hjh]htop}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh block_quote)}(h+Prints the summary from *timerlat* tracer. h]h)}(h*Prints the summary from *timerlat* tracer.h](hPrints the summary from }(hjhhhNhNubj4)}(h *timerlat*h]htimerlat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh tracer.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjhhubh)}(h**hist**h]j )}(hjh]hhist}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK!hjhhubj)}(h(Prints a histogram of timerlat samples. h]h)}(h'Prints a histogram of timerlat samples.h]h'Prints a histogram of timerlat samples.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hjubah}(h]h ]h"]h$]h&]uh1jhhhK#hjhhubh)}(hEIf no *MODE* is given, the top mode is called, passing the arguments.h](hIf no }(hjhhhNhNubj4)}(h*MODE*h]hMODE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh9 is given, the top mode is called, passing the arguments.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK%hjhhubeh}(h]modesah ]h"]modesah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hOPTIONSh]hOPTIONS}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@hhhhhK(ubh)}(h**-h**, **--help**h](j )}(h**-h**h]h-h}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubh, }(hjQhhhNhNubj )}(h **--help**h]h--help}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjQubeh}(h]h ]h"]h$]h&]uh1hhhhK)hj@hhubj)}(hDisplay the help text. h]h)}(hDisplay the help text.h]hDisplay the help text.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hj{ubah}(h]h ]h"]h$]h&]uh1jhhhK+hj@hhubh)}(h?For other options, see the man page for the corresponding mode.h]h?For other options, see the man page for the corresponding mode.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hj@hhubeh}(h]optionsah ]h"]optionsah$]h&]uh1hhhhhhhhK(ubh)}(hhh](h)}(hSEE ALSOh]hSEE ALSO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK0ubh)}(h5**rtla-timerlat-top**\(1), **rtla-timerlat-hist**\(1)h](j )}(h**rtla-timerlat-top**h]hrtla-timerlat-top}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh(1), }(hjhhhNhNubj )}(h**rtla-timerlat-hist**h]hrtla-timerlat-hist}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh(1)}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK1hjhhubh)}(hd*timerlat* tracer documentation: h](j4)}(h *timerlat*h]htimerlat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j3hjubh tracer documentation: <}(hjhhhNhNubh reference)}(hAhttps://www.kernel.org/doc/html/latest/trace/timerlat-tracer.htmlh]hAhttps://www.kernel.org/doc/html/latest/trace/timerlat-tracer.html}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK3hjhhubeh}(h]see-alsoah ]h"]see alsoah$]h&]uh1hhhhhhhhK0ubh)}(hhh](h)}(hAUTHORh]hAUTHOR}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!hhhhhK6ubh)}(h:Written by Daniel Bristot de Oliveira h](h'Written by Daniel Bristot de Oliveira <}(hj2hhhNhNubj)}(hbristot@kernel.orgh]hbristot@kernel.org}(hj:hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:bristot@kernel.orguh1jhj2ubh>}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK7hj!hhubeh}(h]authorah ]h"]authorah$]h&]uh1hhhhhhhhK6ubh)}(hhh](h)}(hREPORTING BUGSh]hREPORTING BUGS}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj\hhh,Documentation/tools/rtla/common_appendix.rsthKubh)}(hUReport bugs to and h](hReport bugs to <}(hjnhhhNhNubj)}(hlinux-kernel@vger.kernel.orgh]hlinux-kernel@vger.kernel.org}(hjvhhhNhNubah}(h]h ]h"]h$]h&]refuri#mailto:linux-kernel@vger.kernel.orguh1jhjnubh> and <}(hjnhhhNhNubj)}(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.orguh1jhjnubh>}(hjnhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjmhKhj\hhubeh}(h]reporting-bugsah ]h"]reporting bugsah$]h&]uh1hhhhhhjmhKubh)}(hhh](h)}(hLICENSEh]hLICENSE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhjmhKubh)}(h6**rtla** is Free Software licensed under the GNU GPLv2h](j )}(h**rtla**h]hrtla}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh. is Free Software licensed under the GNU GPLv2}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjmhKhjhhubeh}(h]licenseah ]h"]licenseah$]h&]uh1hhhhhhjmhKubh)}(hhh](h)}(hCOPYINGh]hCOPYING}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhjmhK 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).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmhK hjhhubeh}(h]copyingah ]h"]copyingah$]h&]uh1hhhhhhjmhK ubeh}(h]+measures-the-operating-system-timer-latencyah ]h"]+measures the operating system timer latencyah$]h&]uh1hhhhhhhhKubeh}(h] rtla-timerlatah ]h"] rtla-timerlatah$]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}(jjj j jRjOjjj=j:jjjjjYjVjjjjjju nametypes}(jj jRjj=jjjYjjjuh}(jhj hjOj jjUj:jjj@jjjVj!jj\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-timerlat.rst(NNNNta decorationNhhub.