All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] RTLA changes for 7.3
@ 2026-08-05 15:10 Tomas Glozar
  2026-08-11  1:04 ` Steven Rostedt
  0 siblings, 1 reply; 2+ messages in thread
From: Tomas Glozar @ 2026-08-05 15:10 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: LKML, linux-trace-kernel, Tomas Glozar

Steven,

The following changes since commit 075b74841bd0065a3bda3440873c747938e69b68:

  Linux 7.2-rc6 (2026-08-02 16:24:24 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/tglozar/linux.git tags/rtla-v7.3

for you to fetch changes up to 0ad45018ace734e3a21c8b15280df65b429135d1:

  rtla/cli: Unify and improve handling of invalid option arguments (2026-08-05 10:14:40 +0200)

----------------------------------------------------------------
RTLA patches for 7.3

- Extend support for unsetting CLI options

libsubcmd auto-generates "--no-<option>" to unset options, provided
the option callback supports it. Implement this for RTLA CLI beyond
boolean options, and document the few exceptions that are left out.

- Test all tracer options in runtime tests

Verify that RTLA sets osnoise/timerlat options correctly by reading them
from tracefs during runtime tests.

- Improve range validation for option arguments

Make CLI range validation consistent with the kernel limits and unify
implementation and error messages between options.

- Improve invalid option argument parsing

Consistently reject invalid values for numeric option arguments with
a unified error message for all options.

Signed-off-by: Tomas Glozar <tglozar@redhat.com>

----------------------------------------------------------------
Tomas Glozar (7):
      rtla: Allow unsetting non-list custom-callback CLI options
      rtla: Add unit tests for unset in opt callbacks
      rtla: Add unit tests for CLI with unset
      Documentation/rtla: Document unsetting options
      rtla/tests: Test all tracer options in runtime tests
      rtla/cli: Unify and improve range validation logic
      rtla/cli: Unify and improve handling of invalid option arguments

 Documentation/tools/rtla/common_appendix.txt       |  17 +
 Documentation/tools/rtla/common_options.txt        |  13 +-
 .../tools/rtla/common_osnoise_options.txt          |   4 +
 .../tools/rtla/common_timerlat_options.txt         |   4 +
 tools/tracing/rtla/src/cli.c                       |  42 +-
 tools/tracing/rtla/src/cli_p.h                     | 497 ++++++++++++-------
 tools/tracing/rtla/tests/engine.sh                 |  41 +-
 tools/tracing/rtla/tests/hwnoise.t                 |   3 +
 tools/tracing/rtla/tests/osnoise.t                 |  39 +-
 .../rtla/tests/scripts/check-osnoise-option.sh     |  16 +
 .../rtla/tests/scripts/check-tracefs-value.sh      |  11 +
 tools/tracing/rtla/tests/timerlat.t                |  40 +-
 tools/tracing/rtla/tests/unit/cli_opt_callback.c   | 534 ++++++++++++++-------
 tools/tracing/rtla/tests/unit/osnoise_hist_cli.c   |  18 +
 tools/tracing/rtla/tests/unit/osnoise_top_cli.c    |  18 +
 tools/tracing/rtla/tests/unit/timerlat_hist_cli.c  |  18 +
 tools/tracing/rtla/tests/unit/timerlat_top_cli.c   |  18 +
 17 files changed, 949 insertions(+), 384 deletions(-)
 create mode 100755 tools/tracing/rtla/tests/scripts/check-osnoise-option.sh
 create mode 100755 tools/tracing/rtla/tests/scripts/check-tracefs-value.sh


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [GIT PULL] RTLA changes for 7.3
  2026-08-05 15:10 [GIT PULL] RTLA changes for 7.3 Tomas Glozar
@ 2026-08-11  1:04 ` Steven Rostedt
  0 siblings, 0 replies; 2+ messages in thread
From: Steven Rostedt @ 2026-08-11  1:04 UTC (permalink / raw)
  To: Tomas Glozar; +Cc: LKML, linux-trace-kernel

On Wed,  5 Aug 2026 17:10:55 +0200
Tomas Glozar <tglozar@redhat.com> wrote:

> Steven,
> 
> The following changes since commit 075b74841bd0065a3bda3440873c747938e69b68:
> 
>   Linux 7.2-rc6 (2026-08-02 16:24:24 -0700)
> 
> are available in the Git repository at:
> 
>   https://git.kernel.org/pub/scm/linux/kernel/git/tglozar/linux.git tags/rtla-v7.3
> 
> for you to fetch changes up to 0ad45018ace734e3a21c8b15280df65b429135d1:
> 
>   rtla/cli: Unify and improve handling of invalid option arguments (2026-08-05 10:14:40 +0200)

I just tested this on my VM and have the following results from "make check":

Auto-detecting system features:
...                           libtraceevent: [ on  ]
...                              libtracefs: [ on  ]
...                             libcpupower: [ on  ]
...                                libcheck: [ OFF ]
...                                  libbpf: [ OFF ]
...                         clang-bpf-co-re: [ on  ]
...                       bpftool-skeletons: [ on  ]

libcheck is missing, building without unit tests support.
Please install check-devel/check
libbpf is missing, building without BPF skeleton support.
Please install libbpf-dev/libbpf-devel
[..]
tests/timerlat.t .. 
1..75
[..]
not ok 20 - top verify -c/--cpus
# Output match failed: "^Affinity of threads: 0$"
# Affinity of threads:
# Timer Latency
# 0 00:00:04   |	  IRQ Timer Latency (us)	|	  Thread Timer Latency (us)	 |    Ret user Timer Latency (us)
# CPU COUNT      |      cur	min	  avg	    max |      cur	 min	   avg	     max |	cur	  min	    avg	      max
# 0 #2	       |       72	 70	   71	     72 |      128	 128	   128	     129 |	154	  154	    154	      154
# ---------------|----------------------------------------|----------------------------------------|---------------------------------------
# ALL #2	    e0 |		 70	   71	     72 |		 128	   128	     129 |		  154	    154	      154
# timerlat hit stop tracing
# ## CPU 0 hit stop tracing, analyzing it ##
# IRQ handler delay:		      (exit from idle)	    58.28 us (45.18 %)
# IRQ latency:						    72.60 us
# Timerlat IRQ duration:				    32.63 us (25.29 %)
# Blocking thread:					    22.43 us (17.39 %)
# swapper/0:0			    22.43 us
# ------------------------------------------------------------------------
# Thread latency:					   129.00 us (100%)
# 
# Max timerlat IRQ latency from idle: 72.60 us in cpu 0
#
# exit code 2
not ok 21 - hist verify -c/--cpus
# Output match failed: "^Affinity of threads: 0$"
# Affinity of threads:
# # RTLA timerlat histogram
# # Time unit is microseconds (us)
# # Duration:   0 00:00:03
# Index	IRQ-000	  Thr-000   Usr-000
# 80	      1		0	  0
# 81	      1		0	  0
# 139	      0		2	  0
# 165	      0		0	  1
# over:	      0		0	  0
# count:	      2		2	  1
# min:	     80	      139	165
# avg:	     80	      139	165
# max:	     81	      139	165
# ALL:	    IRQ	      Thr	Usr
# count:	      2		2	  1
# min:	     80	      139	165
# avg:	     80	      139	165
# max:	     81	      139	165
# timerlat hit stop tracing
# ## CPU 0 hit stop tracing, analyzing it ##
# IRQ handler delay:		      (exit from idle)	    67.05 us (48.08 %)
# IRQ latency:						    81.97 us
# Timerlat IRQ duration:				    33.38 us (23.94 %)
# Blocking thread:					    22.95 us (16.46 %)
# swapper/0:0			    22.95 us
# ------------------------------------------------------------------------
# Thread latency:					   139.45 us (100%)
# 
# Max timerlat IRQ latency from idle: 81.97 us in cpu 0
#
# exit code 2
ok 22 - top verify -H/--house-keeping
ok 23 - hist verify -H/--house-keeping
ok 24 - top verify -k/--kernel-threads
ok 25 - hist verify -k/--kernel-threads
not ok 26 - top verify -u/--user-threads
# Output match failed: "0 kernel threads, 1 user threads"
# 0 kernel threads, 0 user threads
# Timer Latency
# 0 00:00:04   |	  IRQ Timer Latency (us)	|	  Thread Timer Latency (us)	 |    Ret user Timer Latency (us)
# CPU COUNT      |      cur	min	  avg	    max |      cur	 min	   avg	     max |	cur	  min	    avg	      max
# 0 #2	       |       90	 78	   84	     90 |      147	 136	   141	     147 |	163	  163	    163	      163
# ---------------|----------------------------------------|----------------------------------------|---------------------------------------
# ALL #2	    e0 |		 78	   84	     90 |		 136	   141	     147 |		  163	    163	      163
# timerlat hit stop tracing
# ## CPU 0 hit stop tracing, analyzing it ##
# IRQ handler delay:		      (exit from idle)	    75.58 us (51.26 %)
# IRQ latency:						    90.24 us
# Timerlat IRQ duration:				    33.32 us (22.60 %)
# Blocking thread:					    23.06 us (15.64 %)
# swapper/0:0			    23.06 us
# ------------------------------------------------------------------------
# Thread latency:					   147.46 us (100%)
# 
# Max timerlat IRQ latency from idle: 90.24 us in cpu 0
#
# exit code 2
not ok 27 - hist verify -u/--user-threads
# Output match failed: "0 kernel threads, 1 user threads"
# 0 kernel threads, 0 user threads
# # RTLA timerlat histogram
# # Time unit is microseconds (us)
# # Duration:   0 00:00:05
# Index	IRQ-000	  Thr-000   Usr-000
# 75	      1		0	  0
# 83	      1		0	  0
# 133	      0		1	  0
# 140	      0		1	  0
# 160	      0		0	  1
# over:	      0		0	  0
# count:	      2		2	  1
# min:	     75	      133	160
# avg:	     79	      136	160
# max:	     83	      140	160
# ALL:	    IRQ	      Thr	Usr
# count:	      2		2	  1
# min:	     75	      133	160
# avg:	     79	      136	160
# max:	     83	      140	160
# timerlat hit stop tracing
# ## CPU 0 hit stop tracing, analyzing it ##
# IRQ handler delay:		      (exit from idle)	    68.78 us (48.91 %)
# IRQ latency:						    83.35 us
# Timerlat IRQ duration:				    33.13 us (23.56 %)
# Blocking thread:					    22.89 us (16.28 %)
# swapper/0:0			    22.89 us
# ------------------------------------------------------------------------
# Thread latency:					   140.62 us (100%)
# 
# Max timerlat IRQ latency from idle: 83.35 us in cpu 0
#
# exit code 2
[..]

-- Steve

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-08-11  1:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-05 15:10 [GIT PULL] RTLA changes for 7.3 Tomas Glozar
2026-08-11  1:04 ` Steven Rostedt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.