~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/tools/rtla/rtla-timerlat-top.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/tools/rtla/rtla-timerlat-top.rst (Version linux-6.12-rc7) and /Documentation/tools/rtla/rtla-timerlat-top.rst (Version linux-6.3.13)


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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php