public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] rv: Updates for v7.1
@ 2026-04-14 11:32 Steven Rostedt
  2026-04-16  0:51 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Steven Rostedt @ 2026-04-14 11:32 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: LKML, Gabriele Monaco, Nam Cao, Wander Lairson Costa,
	Thomas Weißschuh


Linus,

Runtime Verification updates for 7.1:

- Refactor da_monitor header to share handlers across monitor types

  No functional changes, only less code duplication.

- Add Hybrid Automata model class

  Add a new model class that extends deterministic automata by adding
  constraints on transitions and states. Those constraints can take into
  account wall-clock time and as such allow RV monitor to make
  assertions on real time. Add documentation and code generation
  scripts.

- Add stall monitor as hybrid automaton example

  Add a monitor that triggers a violation when a task is stalling as an
  example of automaton working with real time variables.

- Convert the opid monitor to a hybrid automaton

  The opid monitor can be heavily simplified if written as a hybrid
  automaton: instead of tracking preempt and interrupt enable/disable
  events, it can just run constraints on the preemption/interrupt
  states when events like wakeup and need_resched verify.

- Add support for per-object monitors in DA/HA

  Allow writing deterministic and hybrid automata monitors for generic
  objects (e.g. any struct), by exploiting a hash table where objects
  are saved. This allows to track more than just tasks in RV. For
  instance it will be used to track deadline entities in deadline
  monitors.

- Add deadline tracepoints and move some deadline utilities

  Prepare the ground for deadline monitors by defining events and
  exporting helpers.

- Add nomiss deadline monitor

  Add first example of deadline monitor asserting all entities complete
  before their deadline.

- Improve rvgen error handling

  Introduce AutomataError exception class and better handle expected
  exceptions while showing a backtrace for unexpected ones.

- Improve python code quality in rvgen

  Refactor the rvgen generation scripts to align with python best
  practices: use f-strings instead of %, use len() instead of __len__(),
  remove semicolons, use context managers for file operations, fix
  whitespace violations, extract magic strings into constants, remove
  unused imports and methods.

- Fix small bugs in rvgen

  The generator scripts presented some corner case bugs: logical error in
  validating what a correct dot file looks like, fix an isinstance()
  check, enforce a dot file has an initial state, fix type annotations
  and typos in comments.

- rvgen refactoring

  Refactor automata.py to use iterator-based parsing and handle required
  arguments directly in argparse.

- Allow epoll in rtapp-sleep monitor

  The epoll_wait call is now rt-friendly so it should be allowed in the
  sleep monitor as a valid sleep method.


Please pull the latest trace-rv-v7.1 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace-rv-v7.1

Tag SHA1: a6d8b3e4af26a6d177bbd9cab0e2e0228441209c
Head SHA1: 00f0dadde8c5036fe6462621a6920549036dce70


Gabriele Monaco (12):
      rv: Unify DA event handling functions across monitor types
      rv: Add Hybrid Automata monitor type
      verification/rvgen: Allow spaces in and events strings
      verification/rvgen: Add support for Hybrid Automata
      Documentation/rv: Add documentation about hybrid automata
      rv: Add sample hybrid monitor stall
      rv: Convert the opid monitor to a hybrid automaton
      rv: Add support for per-object monitors in DA/HA
      verification/rvgen: Add support for per-obj monitors
      sched: Add deadline tracepoints
      sched/deadline: Move some utility functions to deadline.h
      rv: Add nomiss deadline monitor

Nam Cao (1):
      rv: Allow epoll in rtapp-sleep monitor

Wander Lairson Costa (19):
      rv/rvgen: introduce AutomataError exception class
      rv/rvgen: remove bare except clauses in generator
      rv/rvgen: replace % string formatting with f-strings
      rv/rvgen: replace __len__() calls with len()
      rv/rvgen: remove unnecessary semicolons
      rv/rvgen: use context managers for file operations
      rv/rvgen: fix typos in automata and generator docstring and comments
      rv/rvgen: fix PEP 8 whitespace violations
      rv/rvgen: fix DOT file validation logic error
      rv/rvgen: use class constant for init marker
      rv/rvgen: refactor automata.py to use iterator-based parsing
      rv/rvgen: remove unused sys import from dot2c
      rv/rvgen: remove unused __get_main_name method
      rv/rvgen: make monitor arguments required in rvgen
      rv/rvgen: fix isinstance check in Variable.expand()
      rv/rvgen: extract node marker string to class constant
      rv/rvgen: enforce presence of initial state
      rv/rvgen: fix unbound loop variable warning
      rv/rvgen: fix _fill_states() return type annotation

----
 Documentation/tools/rv/index.rst                   |   1 +
 Documentation/tools/rv/rv-mon-stall.rst            |  44 ++
 Documentation/trace/rv/deterministic_automata.rst  |   2 +-
 Documentation/trace/rv/hybrid_automata.rst         | 341 +++++++++++
 Documentation/trace/rv/index.rst                   |   3 +
 Documentation/trace/rv/monitor_deadline.rst        |  84 +++
 Documentation/trace/rv/monitor_sched.rst           |  62 +-
 Documentation/trace/rv/monitor_stall.rst           |  43 ++
 Documentation/trace/rv/monitor_synthesis.rst       | 117 +++-
 include/linux/rv.h                                 |  39 ++
 include/linux/sched/deadline.h                     |  27 +
 include/rv/da_monitor.h                            | 644 +++++++++++++++------
 include/rv/ha_monitor.h                            | 478 +++++++++++++++
 include/trace/events/sched.h                       |  26 +
 kernel/sched/core.c                                |   5 +
 kernel/sched/deadline.c                            |  51 +-
 kernel/trace/rv/Kconfig                            |  18 +
 kernel/trace/rv/Makefile                           |   3 +
 kernel/trace/rv/monitors/deadline/Kconfig          |  10 +
 kernel/trace/rv/monitors/deadline/deadline.c       |  44 ++
 kernel/trace/rv/monitors/deadline/deadline.h       | 202 +++++++
 kernel/trace/rv/monitors/nomiss/Kconfig            |  15 +
 kernel/trace/rv/monitors/nomiss/nomiss.c           | 293 ++++++++++
 kernel/trace/rv/monitors/nomiss/nomiss.h           | 123 ++++
 kernel/trace/rv/monitors/nomiss/nomiss_trace.h     |  19 +
 kernel/trace/rv/monitors/opid/Kconfig              |  11 +-
 kernel/trace/rv/monitors/opid/opid.c               | 111 ++--
 kernel/trace/rv/monitors/opid/opid.h               |  86 +--
 kernel/trace/rv/monitors/opid/opid_trace.h         |   4 +
 kernel/trace/rv/monitors/sleep/sleep.c             |   8 +
 kernel/trace/rv/monitors/sleep/sleep.h             |  98 ++--
 kernel/trace/rv/monitors/stall/Kconfig             |  13 +
 kernel/trace/rv/monitors/stall/stall.c             | 150 +++++
 kernel/trace/rv/monitors/stall/stall.h             |  81 +++
 kernel/trace/rv/monitors/stall/stall_trace.h       |  19 +
 kernel/trace/rv/rv_trace.h                         |  67 ++-
 tools/verification/models/deadline/nomiss.dot      |  41 ++
 tools/verification/models/rtapp/sleep.ltl          |   1 +
 tools/verification/models/sched/opid.dot           |  36 +-
 tools/verification/models/stall.dot                |  22 +
 tools/verification/rvgen/__main__.py               |  27 +-
 tools/verification/rvgen/dot2c                     |   1 -
 tools/verification/rvgen/rvgen/automata.py         | 294 +++++++---
 tools/verification/rvgen/rvgen/dot2c.py            | 105 +++-
 tools/verification/rvgen/rvgen/dot2k.py            | 524 ++++++++++++++++-
 tools/verification/rvgen/rvgen/generator.py        |  93 ++-
 tools/verification/rvgen/rvgen/ltl2ba.py           |  11 +-
 tools/verification/rvgen/rvgen/ltl2k.py            |  54 +-
 .../rvgen/rvgen/templates/dot2k/main.c             |   2 +-
 .../rvgen/rvgen/templates/dot2k/trace_hybrid.h     |  16 +
 50 files changed, 3883 insertions(+), 686 deletions(-)
 create mode 100644 Documentation/tools/rv/rv-mon-stall.rst
 create mode 100644 Documentation/trace/rv/hybrid_automata.rst
 create mode 100644 Documentation/trace/rv/monitor_deadline.rst
 create mode 100644 Documentation/trace/rv/monitor_stall.rst
 create mode 100644 include/rv/ha_monitor.h
 create mode 100644 kernel/trace/rv/monitors/deadline/Kconfig
 create mode 100644 kernel/trace/rv/monitors/deadline/deadline.c
 create mode 100644 kernel/trace/rv/monitors/deadline/deadline.h
 create mode 100644 kernel/trace/rv/monitors/nomiss/Kconfig
 create mode 100644 kernel/trace/rv/monitors/nomiss/nomiss.c
 create mode 100644 kernel/trace/rv/monitors/nomiss/nomiss.h
 create mode 100644 kernel/trace/rv/monitors/nomiss/nomiss_trace.h
 create mode 100644 kernel/trace/rv/monitors/stall/Kconfig
 create mode 100644 kernel/trace/rv/monitors/stall/stall.c
 create mode 100644 kernel/trace/rv/monitors/stall/stall.h
 create mode 100644 kernel/trace/rv/monitors/stall/stall_trace.h
 create mode 100644 tools/verification/models/deadline/nomiss.dot
 create mode 100644 tools/verification/models/stall.dot
 create mode 100644 tools/verification/rvgen/rvgen/templates/dot2k/trace_hybrid.h
---------------------------

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

* Re: [GIT PULL] rv: Updates for v7.1
  2026-04-14 11:32 [GIT PULL] rv: Updates for v7.1 Steven Rostedt
@ 2026-04-16  0:51 ` pr-tracker-bot
  0 siblings, 0 replies; 2+ messages in thread
From: pr-tracker-bot @ 2026-04-16  0:51 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: Linus Torvalds, LKML, Gabriele Monaco, Nam Cao,
	Wander Lairson Costa, Thomas Weißschuh

The pull request you sent on Tue, 14 Apr 2026 07:32:12 -0400:

> git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git trace-rv-v7.1

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/fdbfee9fc56e13a1307868829d438ad66ab308a4

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

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

end of thread, other threads:[~2026-04-16  0:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-14 11:32 [GIT PULL] rv: Updates for v7.1 Steven Rostedt
2026-04-16  0:51 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox