linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Bristot de Oliveira <bristot@kernel.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Daniel Bristot de Oliveira <bristot@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Tom Zanussi <zanussi@kernel.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Juri Lelli <juri.lelli@redhat.com>,
	Clark Williams <williams@redhat.com>,
	John Kacur <jkacur@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	linux-rt-users@vger.kernel.org,
	linux-trace-devel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH V3 19/19] rtla: Add rtla timerlat hist documentation
Date: Mon, 18 Oct 2021 18:48:32 +0200	[thread overview]
Message-ID: <79f9f1d1e6979f296edad78b59470310bbebba3b.1634574261.git.bristot@kernel.org> (raw)
In-Reply-To: <cover.1634574261.git.bristot@kernel.org>

Man page for rtla timerlat hist mode.

Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Tom Zanussi <zanussi@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Juri Lelli <juri.lelli@redhat.com>
Cc: Clark Williams <williams@redhat.com>
Cc: John Kacur <jkacur@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Daniel Bristot de Oliveira <bristot@kernel.org>
Cc: linux-rt-users@vger.kernel.org
Cc: linux-trace-devel@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org>
---
 .../rtla/Documentation/rtla-timerlat-hist.txt | 162 ++++++++++++++++++
 1 file changed, 162 insertions(+)
 create mode 100644 tools/tracing/rtla/Documentation/rtla-timerlat-hist.txt

diff --git a/tools/tracing/rtla/Documentation/rtla-timerlat-hist.txt b/tools/tracing/rtla/Documentation/rtla-timerlat-hist.txt
new file mode 100644
index 000000000000..6cc1e8d9abd4
--- /dev/null
+++ b/tools/tracing/rtla/Documentation/rtla-timerlat-hist.txt
@@ -0,0 +1,162 @@
+rtla-timerlat-hist(1)
+=====================
+
+NAME
+----
+rtla-timerlat-hist - Histograms of the operating system timer latency
+
+SYNOPSIS
+--------
+*rtla timerlat hist* ['OPTIONS'] ...
+
+DESCRIPTION
+-----------
+The rtla-hist-hist(1) mode displays a histogram of each tracer event occurrence.
+
+The rtla-timerlat(1) 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.
+
+The 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. This
+tool uses the periodic information, and the osnoise tracepoints are enabled
+when using the -T option.
+
+OPTIONS
+-------
+*-h*, *--help*::
+Print help menu.
+*-p*, *--period* 'us'::
+Set the timerlat tracer period in microseconds.
+*-i*, *--irq* 'us'::
+Stop trace if the irq latency is higher than the argument in us.
+*-T*, *--thread* 'us'::
+Stop trace if the thread latency is higher than the argument in us.
+*-s*, *--stack* 'us'::
+Save the stack trace at the IRQ if a thread latency is higher than the
+argument in us.
+*-c*, *--cpus* 'cpu-list'::
+Set the timerlat tracer to run the sample threads in the cpu-list.
+*-d*, *--duration* 'time[s|m|h|d]'::
+Set the duration of the session.
+*-T*, *--trace*['=file']::
+Save the stopped trace to ['file|timerlat_trace.txt'].
+*-P*, *--priority* 'o:prio|r:prio|f:prio|d:runtime:period'::
+Set scheduling parameters to the timerlat tracer threads, the format to
+set the priority are:
+  - 'o:prio' - use SCHED_OTHER with 'prio';
+  - 'r:prio' - use SCHED_RR with 'prio';
+  - 'f:prio' - use SCHED_FIFO with 'prio';
+  - 'd:runtime[us|ms|s]:period[us|ms|s]' - use SCHED_DEADLINE with 'runtime' and
+'period' in nanoseconds.
+
+*-b*, *--bucket-size* 'N'::
+Set the histogram bucket size (default 1).
+*-e*, *--entries* 'N'::
+Set the number of entries of the histogram (default 256).
+*--no-irq*::
+Ignore IRQ latencies.
+*--no-thread*::
+Ignore thread latencies.
+*--no-header*::
+So not print header.
+*--no-summary*::
+Do not print summary.
+*--no-index*::
+So not print index.
+*--with-zeros*::
+Print zero only entries.
+
+EXAMPLE
+-------
+In the example below, *rtla timerlat hist* is set to run for '10' minutes,
+in the cpus '0-4', 'skipping zero' only lines. Moreover, *rtla timerlat
+hist* will change the priority of the timelat threads to run under
+'SCHED_DEADLINE' priority, with a '10 us' runtime every '1 ms' period. The
+'1ms' period is also passed to the timerlat tracer.
+
+------------------------------------------
+[root@alien ~]# timerlat hist -d 10m -c 0-4 -P d:100us:1ms -p 1ms
+# RTLA timerlat histogram
+# Time unit is microseconds (us)
+# Duration:   0 00:10:00
+Index   IRQ-000   Thr-000   IRQ-001   Thr-001   IRQ-002   Thr-002   IRQ-003   Thr-003   IRQ-004   Thr-004
+0        276489         0    206089         0    466018         0    481102         0    205546         0
+1        318327     35487    388149     30024     94531     48382     83082     71078    388026     55730
+2          3282    122584      4019    126527     28231    109012     23311     89309      4568     98739
+3           940     11815       837      9863      6209     16227      6895     17196       910      9780
+4           444     17287       424     11574      2097     38443      2169     36736       462     13476
+5           206     43291       255     25581      1223    101908      1304    101137       236     28913
+6           132    101501        96     64584       635    213774       757    215471        99     73453
+7            74    169347        65    124758       350     57466       441     53639        69    148573
+8            53     85183        31    156751       229      9052       306      9026        39    139907
+9            22     10387        12     42762       161      2554       225      2689        19     26192
+10           13      1898         8      5770       114      1247       128      1405        13      3772
+11            9       560         9       924        71       686        76       765         8       713
+12            4       256         2       360        50       411        64       474         3       278
+13            2       167         2       172        43       256        53       350         4       180
+14            1        88         1       116        15       198        42       223         0       115
+15            2        63         3        94        11       139        20       150         0        58
+16            2        37         0        56         5        78        10       102         0        39
+17            0        18         0        28         4        57         8        80         0        15
+18            0         8         0        17         2        50         6        56         0        12
+19            0         9         0         5         0        19         0        48         0        18
+20            0         4         0         8         0        11         2        27         0         4
+21            0         2         0         3         1         9         1        18         0         6
+22            0         1         0         3         1         7         0         3         0         5
+23            0         2         0         4         0         2         0         7         0         2
+24            0         2         0         2         1         3         0         3         0         5
+25            0         0         0         1         0         1         0         1         0         3
+26            0         1         0         0         0         2         0         2         0         0
+27            0         0         0         3         0         1         0         0         0         1
+28            0         0         0         3         0         0         0         1         0         0
+29            0         0         0         2         0         2         0         1         0         3
+30            0         1         0         0         0         0         0         0         0         0
+31            0         1         0         0         0         0         0         2         0         2
+32            0         0         0         1         0         2         0         0         0         0
+33            0         0         0         2         0         0         0         0         0         1
+34            0         0         0         0         0         0         0         0         0         2
+35            0         1         0         1         0         0         0         0         0         1
+36            0         1         0         0         0         1         0         1         0         0
+37            0         0         0         1         0         0         0         0         0         0
+40            0         0         0         0         0         1         0         1         0         0
+41            0         0         0         0         0         0         0         0         0         1
+42            0         0         0         0         0         0         0         0         0         1
+44            0         0         0         0         0         1         0         0         0         0
+46            0         0         0         0         0         0         0         1         0         0
+47            0         0         0         0         0         0         0         0         0         1
+50            0         0         0         0         0         0         0         0         0         1
+54            0         0         0         1         0         0         0         0         0         0
+58            0         0         0         1         0         0         0         0         0         0
+over:         0         0         0         0         0         0         0         0         0         0
+count:   600002    600002    600002    600002    600002    600002    600002    600002    600002    600002
+min:          0         1         0         1         0         1         0         1         0         1
+avg:          0         5         0         5         0         4         0         4         0         5
+max:         16        36        15        58        24        44        21        46        13        50
+------------------------------------------
+
+SEE ALSO
+--------
+_rtla-timerlat(1)_, _rtla-timerlat-top(1)_
+
+Timerlat tracer documentation: <https://www.kernel.org/doc/html/latest/trace/timerlat-tracer.html>
+
+AUTHOR
+------
+Written by Daniel Bristot de Oliveira <bristot@kernel.org>
+
+REPORTING BUGS
+--------------
+Report bugs to <lkml@vger.kernel.org>
+
+LICENSE
+-------
+rtla is Free Software licensed under the GNU GPLv2
+
+COPYING
+-------
+Copyright \(C) 2021 Red Hat, Inc. Free use of this software is granted under
+the terms of the GNU Public License (GPL).
-- 
2.31.1


      parent reply	other threads:[~2021-10-18 16:51 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-18 16:48 [PATCH V3 00/19] RTLA: An interface for osnoise/timerlat tracers Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 01/19] trace/osnoise: Do not follow tracing_cpumask Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 02/19] trace/osnoise: Split workload start from the tracer start Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 03/19] trace/osnoise: Use start/stop_per_cpu_kthreads() on osnoise_cpus_write() Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 04/19] trace/osnoise: Support a list of trace_array *tr Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 05/19] trace/osnoise: Allow multiple instances of the same tracer Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 06/19] rtla: Real-Time Linux Analysis tool Daniel Bristot de Oliveira
2021-10-18 19:30   ` Ahmed S. Darwish
2021-10-19  8:06     ` Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 07/19] rtla: Helper functions for rtla Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 08/19] rtla: Add osnoise tool Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 09/19] rtla/osnoise: Add osnoise top mode Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 10/19] rtla/osnoise: Add the hist mode Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 11/19] rtla: Add timerlat tool and timelart top mode Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 12/19] rtla/timerlat: Add timerlat hist mode Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 13/19] rtla: Add Documentation Daniel Bristot de Oliveira
2021-10-18 17:43   ` Jonathan Corbet
2021-10-19 12:56     ` Daniel Bristot de Oliveira
2021-10-19 13:21       ` Steven Rostedt
2021-10-19 14:07         ` Daniel Bristot de Oliveira
2021-10-19 14:45           ` Steven Rostedt
2021-10-19 15:08             ` Daniel Bristot de Oliveira
2021-10-19 15:25               ` Steven Rostedt
2021-10-19 15:43                 ` Daniel Bristot de Oliveira
2021-10-19 15:28           ` Jonathan Corbet
2021-10-19 15:36             ` Steven Rostedt
2021-10-19 15:41               ` Daniel Bristot de Oliveira
2021-10-19 19:18                 ` Jonathan Corbet
2021-10-18 16:48 ` [PATCH V3 14/19] rtla: Add rtla osnoise man page Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 15/19] rtla: Add rtla osnoise top documentation Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 16/19] rtla: Add rtla osnoise hist documentation Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 17/19] rtla: Add rtla timerlat documentation Daniel Bristot de Oliveira
2021-10-18 16:48 ` [PATCH V3 18/19] rtla: Add rtla timerlat top documentation Daniel Bristot de Oliveira
2021-10-18 16:48 ` Daniel Bristot de Oliveira [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=79f9f1d1e6979f296edad78b59470310bbebba3b.1634574261.git.bristot@kernel.org \
    --to=bristot@kernel.org \
    --cc=bigeasy@linutronix.de \
    --cc=jkacur@redhat.com \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=williams@redhat.com \
    --cc=zanussi@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).