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

TOMOYO Linux Cross Reference
Linux/Documentation/tools/rtla/rtla-hwnoise.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-hwnoise.rst (Version linux-6.12-rc7) and /Documentation/tools/rtla/rtla-hwnoise.rst (Version linux-6.10.14)


  1 .. SPDX-License-Identifier: GPL-2.0                 1 .. SPDX-License-Identifier: GPL-2.0
  2                                                     2 
  3 ============                                        3 ============
  4 rtla-hwnoise                                        4 rtla-hwnoise
  5 ============                                        5 ============
  6 ------------------------------------------          6 ------------------------------------------
  7 Detect and quantify hardware-related noise          7 Detect and quantify hardware-related noise
  8 ------------------------------------------          8 ------------------------------------------
  9                                                     9 
 10 :Manual section: 1                                 10 :Manual section: 1
 11                                                    11 
 12 SYNOPSIS                                           12 SYNOPSIS
 13 ========                                           13 ========
 14                                                    14 
 15 **rtla hwnoise** [*OPTIONS*]                       15 **rtla hwnoise** [*OPTIONS*]
 16                                                    16 
 17 DESCRIPTION                                        17 DESCRIPTION
 18 ===========                                        18 ===========
 19                                                    19 
 20 **rtla hwnoise** collects the periodic summary     20 **rtla hwnoise** collects the periodic summary from the *osnoise* tracer
 21 running with *interrupts disabled*. By disabli     21 running with *interrupts disabled*. By disabling interrupts, and the scheduling
 22 of threads as a consequence, only non-maskable     22 of threads as a consequence, only non-maskable interrupts and hardware-related
 23 noise is allowed.                                  23 noise is allowed.
 24                                                    24 
 25 The tool also allows the configurations of the     25 The tool also allows the configurations of the *osnoise* tracer and the
 26 collection of the tracer output.                   26 collection of the tracer output.
 27                                                    27 
 28 OPTIONS                                            28 OPTIONS
 29 =======                                            29 =======
 30 .. include:: common_osnoise_options.rst            30 .. include:: common_osnoise_options.rst
 31                                                    31 
 32 .. include:: common_top_options.rst                32 .. include:: common_top_options.rst
 33                                                    33 
 34 .. include:: common_options.rst                    34 .. include:: common_options.rst
 35                                                    35 
 36 EXAMPLE                                            36 EXAMPLE
 37 =======                                            37 =======
 38 In the example below, the **rtla hwnoise** too     38 In the example below, the **rtla hwnoise** tool is set to run on CPUs *1-7*
 39 on a system with 8 cores/16 threads with hyper     39 on a system with 8 cores/16 threads with hyper-threading enabled.
 40                                                    40 
 41 The tool is set to detect any noise higher tha     41 The tool is set to detect any noise higher than *one microsecond*,
 42 to run for *ten minutes*, displaying a summary     42 to run for *ten minutes*, displaying a summary of the report at the
 43 end of the session::                               43 end of the session::
 44                                                    44 
 45   # rtla hwnoise -c 1-7 -T 1 -d 10m -q             45   # rtla hwnoise -c 1-7 -T 1 -d 10m -q
 46                                           Hard     46                                           Hardware-related Noise
 47   duration:   0 00:10:00 | time is in us           47   duration:   0 00:10:00 | time is in us
 48   CPU Period       Runtime        Noise  % CPU     48   CPU Period       Runtime        Noise  % CPU Aval   Max Noise   Max Single          HW          NMI
 49     1 #599       599000000          138    99.     49     1 #599       599000000          138    99.99997           3            3           4           74
 50     2 #599       599000000           85    99.     50     2 #599       599000000           85    99.99998           3            3           4           75
 51     3 #599       599000000           86    99.     51     3 #599       599000000           86    99.99998           4            3           6           75
 52     4 #599       599000000           81    99.     52     4 #599       599000000           81    99.99998           4            4           2           75
 53     5 #599       599000000           85    99.     53     5 #599       599000000           85    99.99998           2            2           2           75
 54     6 #599       599000000           76    99.     54     6 #599       599000000           76    99.99998           2            2           0           75
 55     7 #599       599000000           77    99.     55     7 #599       599000000           77    99.99998           3            3           0           75
 56                                                    56 
 57                                                    57 
 58 The first column shows the *CPU*, and the seco     58 The first column shows the *CPU*, and the second column shows how many
 59 *Periods* the tool ran during the session. The     59 *Periods* the tool ran during the session. The *Runtime* is the time
 60 the tool effectively runs on the CPU. The *Noi     60 the tool effectively runs on the CPU. The *Noise* column is the sum of
 61 all noise that the tool observed, and the *% C     61 all noise that the tool observed, and the *% CPU Aval* is the relation
 62 between the *Runtime* and *Noise*.                 62 between the *Runtime* and *Noise*.
 63                                                    63 
 64 The *Max Noise* column is the maximum hardware     64 The *Max Noise* column is the maximum hardware noise the tool detected in a
 65 single period, and the *Max Single* is the max     65 single period, and the *Max Single* is the maximum single noise seen.
 66                                                    66 
 67 The *HW* and *NMI* columns show the total numb     67 The *HW* and *NMI* columns show the total number of *hardware* and *NMI* noise
 68 occurrence observed by the tool.                   68 occurrence observed by the tool.
 69                                                    69 
 70 For example, *CPU 3* ran *599* periods of *1 s     70 For example, *CPU 3* ran *599* periods of *1 second Runtime*. The CPU received
 71 *86 us* of noise during the entire execution,      71 *86 us* of noise during the entire execution, leaving *99.99997 %* of CPU time
 72 for the application. In the worst single perio     72 for the application. In the worst single period, the CPU caused *4 us* of
 73 noise to the application, but it was certainly     73 noise to the application, but it was certainly caused by more than one single
 74 noise, as the *Max Single* noise was of *3 us*     74 noise, as the *Max Single* noise was of *3 us*. The CPU has *HW noise,* at a
 75 rate of *six occurrences*/*ten minutes*. The C     75 rate of *six occurrences*/*ten minutes*. The CPU also has *NMIs*, at a higher
 76 frequency: around *seven per second*.              76 frequency: around *seven per second*.
 77                                                    77 
 78 The tool should report *0* hardware-related no     78 The tool should report *0* hardware-related noise in the ideal situation.
 79 For example, by disabling hyper-threading to r     79 For example, by disabling hyper-threading to remove the hardware noise,
 80 and disabling the TSC watchdog to remove the N     80 and disabling the TSC watchdog to remove the NMI (it is possible to identify
 81 this using tracing options of **rtla hwnoise**     81 this using tracing options of **rtla hwnoise**), it was possible to reach
 82 the ideal situation in the same hardware::         82 the ideal situation in the same hardware::
 83                                                    83 
 84   # rtla hwnoise -c 1-7 -T 1 -d 10m -q             84   # rtla hwnoise -c 1-7 -T 1 -d 10m -q
 85                                           Hard     85                                           Hardware-related Noise
 86   duration:   0 00:10:00 | time is in us           86   duration:   0 00:10:00 | time is in us
 87   CPU Period       Runtime        Noise  % CPU     87   CPU Period       Runtime        Noise  % CPU Aval   Max Noise   Max Single          HW          NMI
 88     1 #599       599000000            0   100.     88     1 #599       599000000            0   100.00000           0            0           0            0
 89     2 #599       599000000            0   100.     89     2 #599       599000000            0   100.00000           0            0           0            0
 90     3 #599       599000000            0   100.     90     3 #599       599000000            0   100.00000           0            0           0            0
 91     4 #599       599000000            0   100.     91     4 #599       599000000            0   100.00000           0            0           0            0
 92     5 #599       599000000            0   100.     92     5 #599       599000000            0   100.00000           0            0           0            0
 93     6 #599       599000000            0   100.     93     6 #599       599000000            0   100.00000           0            0           0            0
 94     7 #599       599000000            0   100.     94     7 #599       599000000            0   100.00000           0            0           0            0
 95                                                    95 
 96 SEE ALSO                                           96 SEE ALSO
 97 ========                                           97 ========
 98                                                    98 
 99 **rtla-osnoise**\(1)                               99 **rtla-osnoise**\(1)
100                                                   100 
101 Osnoise tracer documentation: <https://www.ker    101 Osnoise tracer documentation: <https://www.kernel.org/doc/html/latest/trace/osnoise-tracer.html>
102                                                   102 
103 AUTHOR                                            103 AUTHOR
104 ======                                            104 ======
105 Written by Daniel Bristot de Oliveira <bristot@    105 Written by Daniel Bristot de Oliveira <bristot@kernel.org>
106                                                   106 
107 .. include:: common_appendix.rst                  107 .. 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