linux/tools/tracing/rtla
Tomas Glozar a484490e04 rtla/timerlat: Do not set params->user_workload with -U
[ Upstream commit fcbc60d7dc ]

Since commit fb9e90a67e ("rtla/timerlat: Make user-space threads
the default"), rtla-timerlat has been defaulting to
params->user_workload if neither that or params->kernel_workload is set.
This has unintentionally made -U, which sets only params->user_hist/top
but not params->user_workload, to behave like -u unless -k is set,
preventing the user from running a custom workload.

Example:
$ rtla timerlat hist -U -c 0 &
[1] 7413
$ python sample/timerlat_load.py 0
Error opening timerlat fd, did you run timerlat -U?
$ ps | grep timerlatu
7415 pts/4    00:00:00 timerlatu/0

Fix the issue by checking for params->user_top/hist instead of
params->user_workload when setting default thread mode.

Link: https://lore.kernel.org/20241021123140.14652-1-tglozar@redhat.com
Fixes: fb9e90a67e ("rtla/timerlat: Make user-space threads the default")
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-05 14:02:17 +01:00
..
sample tools/rtla: Add -U/--user-load option to timerlat 2024-03-20 05:39:06 +01:00
src rtla/timerlat: Do not set params->user_workload with -U 2024-12-05 14:02:17 +01:00
.gitignore tools/rtla: Use tools/build makefiles to build rtla 2024-03-20 05:39:06 +01:00
Build tools/rtla: Use tools/build makefiles to build rtla 2024-03-20 05:39:06 +01:00
Makefile tools/rtla: Use tools/build makefiles to build rtla 2024-03-20 05:39:06 +01:00
Makefile.config tools/rtla: Use pkg-config in lib_setup of Makefile.config 2024-07-17 13:15:08 -07:00
Makefile.rtla tools/rtla: Fix installation from out-of-tree build 2024-10-03 16:43:22 -04:00
Makefile.standalone tools/rtla: Use tools/build makefiles to build rtla 2024-03-20 05:39:06 +01:00
README.txt rtla: Remove procps-ng dependency 2022-05-26 15:20:46 -04:00

RTLA: Real-Time Linux Analysis tools

The rtla meta-tool includes a set of commands that aims to analyze
the real-time properties of Linux. 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.

Installing RTLA

RTLA depends on the following libraries and tools:

 - libtracefs
 - libtraceevent

It also depends on python3-docutils to compile man pages.

For development, we suggest the following steps for compiling rtla:

  $ 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 ..
  $ cd $rtla_src
  $ make
  $ sudo make install

For further information, please refer to the rtla man page.