1 ==================== 2 rtla-timerlat-top 3 ==================== 4 ------------------------------------------- 5 Measures the operating system timer latency 6 ------------------------------------------- 7 8 :Manual section: 1 9 10 SYNOPSIS 11 ======== 12 **rtla timerlat top** [*OPTIONS*] ... 13 14 DESCRIPTION 15 =========== 16 17 .. include:: common_timerlat_description.rst 18 19 The **rtla timerlat top** displays a summary o 20 from the *timerlat* tracer. It also provides i 21 operating system noise via the **osnoise:** tr 22 seem with the option **-T**. 23 24 OPTIONS 25 ======= 26 27 .. include:: common_timerlat_options.rst 28 29 .. include:: common_top_options.rst 30 31 .. include:: common_options.rst 32 33 .. include:: common_timerlat_aa.rst 34 35 **--aa-only** *us* 36 37 Set stop tracing conditions and run wi 38 Print the auto-analysis if the system 39 is useful to reduce rtla timerlat CPU, 40 collecting the statistics. 41 42 EXAMPLE 43 ======= 44 45 In the example below, the timerlat tracer is d 46 automatic trace mode, instructing the tracer t 47 higher is found:: 48 49 # timerlat -a 40 -c 1-23 -q 50 Timer Lat 51 0 00:00:12 | IRQ Timer Latency 52 CPU COUNT | cur min av 53 1 #12322 | 0 0 54 2 #12322 | 3 0 55 3 #12322 | 1 0 56 4 #12322 | 1 0 57 5 #12322 | 0 0 58 6 #12322 | 1 0 59 7 #12322 | 0 0 60 8 #12322 | 1 0 61 9 #12322 | 0 0 62 10 #12322 | 1 0 63 11 #12322 | 0 0 64 12 #12321 | 1 0 65 13 #12319 | 0 0 66 14 #12321 | 1 0 67 15 #12321 | 1 0 68 16 #12318 | 0 0 69 17 #12319 | 0 0 70 18 #12318 | 0 0 71 19 #12319 | 0 0 72 20 #12317 | 0 0 73 21 #12318 | 0 0 74 22 #12319 | 0 0 75 23 #12320 | 28 0 76 rtla timerlat hit stop tracing 77 ## CPU 23 hit stop tracing, analyzing it ## 78 IRQ handler delay: 79 IRQ latency: 80 Timerlat IRQ duration: 81 Blocking thread: 82 objtool:49256 83 Blocking thread stacktrace 84 -> timerlat_irq 85 -> __hrtimer_run_queues 86 -> hrtimer_interrupt 87 -> __sysvec_apic_timer_interru 88 -> sysvec_apic_timer_interrupt 89 -> asm_sysvec_apic_timer_inter 90 -> _raw_spin_unlock_irqrestore 91 -> cgroup_rstat_flush_locked 92 -> cgroup_rstat_flush_irqsafe 93 -> mem_cgroup_flush_stats 94 -> mem_cgroup_wb_stats 95 -> balance_dirty_pages 96 -> balance_dirty_pages_ratelim 97 -> btrfs_buffered_write 98 -> btrfs_do_write_iter 99 -> vfs_write 100 -> __x64_sys_pwrite64 101 -> do_syscall_64 102 -> entry_SYSCALL_64_after_hwfr 103 -------------------------------------------- 104 Thread latency: 105 106 The system has exit from idle latency! 107 Max timerlat IRQ latency from idle: 17.48 108 Saving trace to timerlat_trace.txt 109 110 In this case, the major factor was the delay s 111 that handles **timerlat** wakeup: *65.52%*. Th 112 current thread masking interrupts, which can b 113 thread stacktrace: the current thread (*objtoo 114 via *raw spin lock* operations inside mem cgro 115 syscall in a btrfs file system. 116 117 The raw trace is saved in the **timerlat_trace 118 119 Note that **rtla timerlat** was dispatched wit 120 threads' priority. That is generally not neede 121 priority *FIFO:95* by default, which is a comm 122 kernel developers to analyze scheduling delays 123 124 SEE ALSO 125 -------- 126 **rtla-timerlat**\(1), **rtla-timerlat-hist**\ 127 128 *timerlat* tracer documentation: <https://www. 129 130 AUTHOR 131 ------ 132 Written by Daniel Bristot de Oliveira <bristot@ 133 134 .. include:: common_appendix.rst
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.