[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211124171148.1530418d@gandalf.local.home>
Date: Wed, 24 Nov 2021 17:11:48 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Daniel Bristot de Oliveira <bristot@...nel.org>
Cc: Tao Zhou <tao.zhou@...ux.dev>, Ingo Molnar <mingo@...hat.com>,
Tom Zanussi <zanussi@...nel.org>,
Masami Hiramatsu <mhiramat@...nel.org>,
Juri Lelli <juri.lelli@...hat.com>,
Clark Williams <williams@...hat.com>,
John Kacur <jkacur@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
linux-rt-users@...r.kernel.org, linux-trace-devel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH V7 00/14] RTLA: An interface for osnoise/timerlat
tracers
On Fri, 29 Oct 2021 21:26:03 +0200
Daniel Bristot de Oliveira <bristot@...nel.org> wrote:
> The rtla(1) is a meta-tool that includes a set of commands that
> aims to analyze the real-time properties of Linux. But instead of
> testing Linux as a black box, rtla leverages kernel tracing
> capabilities to provide precise information about the properties
> and root causes of unexpected results.
>
> To start, it presents an interface to the osnoise and timerlat tracers.
> In the future, it will also serve as home to the rtsl [1] and other
> latency/noise tracers.
>
> If you just want to run it, you can download the tarball here:
> - https://bristot.me/files/rtla/tarball/rtla-0.3.tar.bz2
>
> To compile rtla on fedora you need:
> $ git clone git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git
> $ cd libtraceevent/
> $ make
> $ sudo make install
> $ cd ..
> $ git clone git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git
> $ cd libtracefs/
> $ make
> $ sudo make install
> $ cd ..
> $ sudo dnf install python3-docutils procps-devel
> $ cd $rtla_src
> $ make
> $ sudo make install
Add a README to the above, so that people will know what dependencies there
are.
Thanks!
-- Steve
>
> The tracing option (-t) depends some kernel patches that are
> available at [2].
>
> This tool was be discussed at the RT-MC during LPC2021 [3]
>
> [1] rtsl: https://github.com/bristot/rtsl/
> [2] https://lore.kernel.org/lkml/cover.1635533292.git.bristot@kernel.org/
> [3] https://youtu.be/cZUzc0U1jJ4
>
> Changes from v6:
> - Revisited osnoise option config functions
> - Properly handles offline CPUs
> - Some cleanups
> - Fixed an histogram allocation problem (Tao Zhou)
> - Revisited open()/read()/write() (Tao Zhou)
> Changes from v5:
> - Fix retval check in save_trace_to_file() (Tao Zhou)
> - Fix goto logic in save_trace_to_file() (Tao Zhou)
> - Removed unused save_trace_pipe_to_file() function
> - Correctly handle an error on osnoise_set_* functions during
> "apply config" for all tools (Tao Zhou)
> Changes from v3:
> - Add cross-compile support (Ahmed S. Darwish)
> - Move documentation to Documentation/tools/rtla (Jonathan Corbet)
> - Use .rst format for documentation (Jonathan Corbet)
> - Use include option from .rst to group common parts of the documentation
> - Makefile (main and doc) cleanups
> Changes from v2:
> - Fix the miss conception of the "size" for kernel histograms (Steven/Tom)
> - Change the --skip-zeros to --with-zeros option as the former is better
> for humans (and the latter for computers to plot charts).
> - A lot of checkpatch fixes for the user-space part.
> Changes from v1:
> - Fixes -t options on osnoise tracers (-t means --trace for all tools now)
> - Fixes --bucket-size references (not --bucket_size)
>
> Daniel Bristot de Oliveira (14):
> rtla: Real-Time Linux Analysis tool
> rtla: Helper functions for rtla
> rtla: Add osnoise tool
> rtla/osnoise: Add osnoise top mode
> rtla/osnoise: Add the hist mode
> rtla: Add timerlat tool and timelart top mode
> rtla/timerlat: Add timerlat hist mode
> rtla: Add Documentation
> rtla: Add rtla osnoise man page
> rtla: Add rtla osnoise top documentation
> rtla: Add rtla osnoise hist documentation
> rtla: Add rtla timerlat documentation
> rtla: Add rtla timerlat top documentation
> rtla: Add rtla timerlat hist documentation
>
> Documentation/tools/rtla/Makefile | 41 +
> Documentation/tools/rtla/common_appendix.rst | 12 +
> .../tools/rtla/common_hist_options.rst | 23 +
> Documentation/tools/rtla/common_options.rst | 24 +
> .../tools/rtla/common_osnoise_description.rst | 8 +
> .../tools/rtla/common_osnoise_options.rst | 17 +
> .../rtla/common_timerlat_description.rst | 10 +
> .../tools/rtla/common_timerlat_options.rst | 16 +
> .../tools/rtla/common_top_options.rst | 3 +
> .../tools/rtla/rtla-osnoise-hist.rst | 66 ++
> Documentation/tools/rtla/rtla-osnoise-top.rst | 61 +
> Documentation/tools/rtla/rtla-osnoise.rst | 59 +
> .../tools/rtla/rtla-timerlat-hist.rst | 106 ++
> .../tools/rtla/rtla-timerlat-top.rst | 145 +++
> Documentation/tools/rtla/rtla-timerlat.rst | 57 +
> Documentation/tools/rtla/rtla.rst | 48 +
> tools/tracing/rtla/Makefile | 102 ++
> tools/tracing/rtla/src/osnoise.c | 1017 +++++++++++++++++
> tools/tracing/rtla/src/osnoise.h | 96 ++
> tools/tracing/rtla/src/osnoise_hist.c | 799 +++++++++++++
> tools/tracing/rtla/src/osnoise_top.c | 577 ++++++++++
> tools/tracing/rtla/src/rtla.c | 87 ++
> tools/tracing/rtla/src/timerlat.c | 72 ++
> tools/tracing/rtla/src/timerlat.h | 4 +
> tools/tracing/rtla/src/timerlat_hist.c | 820 +++++++++++++
> tools/tracing/rtla/src/timerlat_top.c | 615 ++++++++++
> tools/tracing/rtla/src/trace.c | 192 ++++
> tools/tracing/rtla/src/trace.h | 27 +
> tools/tracing/rtla/src/utils.c | 433 +++++++
> tools/tracing/rtla/src/utils.h | 56 +
> 30 files changed, 5593 insertions(+)
> create mode 100644 Documentation/tools/rtla/Makefile
> create mode 100644 Documentation/tools/rtla/common_appendix.rst
> create mode 100644 Documentation/tools/rtla/common_hist_options.rst
> create mode 100644 Documentation/tools/rtla/common_options.rst
> create mode 100644 Documentation/tools/rtla/common_osnoise_description.rst
> create mode 100644 Documentation/tools/rtla/common_osnoise_options.rst
> create mode 100644 Documentation/tools/rtla/common_timerlat_description.rst
> create mode 100644 Documentation/tools/rtla/common_timerlat_options.rst
> create mode 100644 Documentation/tools/rtla/common_top_options.rst
> create mode 100644 Documentation/tools/rtla/rtla-osnoise-hist.rst
> create mode 100644 Documentation/tools/rtla/rtla-osnoise-top.rst
> create mode 100644 Documentation/tools/rtla/rtla-osnoise.rst
> create mode 100644 Documentation/tools/rtla/rtla-timerlat-hist.rst
> create mode 100644 Documentation/tools/rtla/rtla-timerlat-top.rst
> create mode 100644 Documentation/tools/rtla/rtla-timerlat.rst
> create mode 100644 Documentation/tools/rtla/rtla.rst
> create mode 100644 tools/tracing/rtla/Makefile
> create mode 100644 tools/tracing/rtla/src/osnoise.c
> create mode 100644 tools/tracing/rtla/src/osnoise.h
> create mode 100644 tools/tracing/rtla/src/osnoise_hist.c
> create mode 100644 tools/tracing/rtla/src/osnoise_top.c
> create mode 100644 tools/tracing/rtla/src/rtla.c
> create mode 100644 tools/tracing/rtla/src/timerlat.c
> create mode 100644 tools/tracing/rtla/src/timerlat.h
> create mode 100644 tools/tracing/rtla/src/timerlat_hist.c
> create mode 100644 tools/tracing/rtla/src/timerlat_top.c
> create mode 100644 tools/tracing/rtla/src/trace.c
> create mode 100644 tools/tracing/rtla/src/trace.h
> create mode 100644 tools/tracing/rtla/src/utils.c
> create mode 100644 tools/tracing/rtla/src/utils.h
>
Powered by blists - more mailing lists