All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gabriele Monaco <gmonaco@redhat.com>
To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org
Cc: Gabriele Monaco <gmonaco@redhat.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Nam Cao <namcao@linutronix.de>, Wen Yang <wen.yang@linux.dev>,
	Juri Lelli <juri.lelli@redhat.com>
Subject: [PATCH 00/10] rv: Add remaining deadline monitors
Date: Tue, 29 Sep 2026 14:48:58 +0200	[thread overview]
Message-ID: <20260929124908.177676-1-gmonaco@redhat.com> (raw)

Add the following deadline monitors as already sent in [1]:
* throttle:
    validate dl entities are throttled when they use up their runtime
* boost
    fair tasks run either independently or boosted
* laxity
    deferrable servers wait for zero-laxity and run

Monitors are adapted to the new upstream but mostly unmodified.
Except:
* Remove enqueue/resume from laxity model
* Special idle -> throttled in boost and add period invariant in
  throttled states too

Additionally apply some fixes and simplifications to the hybrid
automata infrastructure and other changes:
* Reset on monitor start and drop checks for invalid variable
* Store timer wheel budget to allow checking for invariants without
  needing to know how the timer was set
* Add enqueue/dequeue tracepoints and check them in snroc
* Add KUnit tests for throttle

[1] - https://lore.kernel.org/lkml/20260310105627.332044-1-gmonaco@redhat.com

To: linux-trace-kernel@vger.kernel.org
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Nam Cao <namcao@linutronix.de>
Cc: Wen Yang <wen.yang@linux.dev>
Cc: Juri Lelli <juri.lelli@redhat.com>

Gabriele Monaco (9):
  rv: Force environment reset action on HA monitor start
  rv: Remove unused ha_monitor_env_invalid()
  rv: Cache timer budget when starting HA timers
  tools/rvgen: Default to HA_TIMER_WHEEL for jiffy clocks
  rv: Add enqueue/dequeue to snroc monitor
  rv: Add throttle deadline monitor
  rv: Add dl_server specific monitors
  rv: Add KUnit test for throttle monitor
  selftests/verification: Lower stressor priority in rv_deadline

Nam Cao (1):
  sched: Add task enqueue/dequeue trace points

 Documentation/trace/rv/monitor_deadline.rst   | 201 ++++++++++++
 Documentation/trace/rv/monitor_sched.rst      |  39 ++-
 include/linux/rv.h                            |   5 +-
 include/rv/ha_monitor.h                       |  73 ++---
 include/trace/events/sched.h                  |   8 +
 kernel/sched/core.c                           |  12 +-
 kernel/sched/sched.h                          |   2 +
 kernel/trace/rv/Kconfig                       |   3 +
 kernel/trace/rv/Makefile                      |   3 +
 kernel/trace/rv/monitors/boost/Kconfig        |  15 +
 kernel/trace/rv/monitors/boost/boost.c        | 276 ++++++++++++++++
 kernel/trace/rv/monitors/boost/boost.h        | 146 +++++++++
 kernel/trace/rv/monitors/boost/boost_trace.h  |  19 ++
 kernel/trace/rv/monitors/laxity/Kconfig       |  14 +
 kernel/trace/rv/monitors/laxity/laxity.c      | 253 +++++++++++++++
 kernel/trace/rv/monitors/laxity/laxity.h      | 133 ++++++++
 .../trace/rv/monitors/laxity/laxity_trace.h   |  19 ++
 kernel/trace/rv/monitors/nomiss/nomiss.c      |   4 +-
 kernel/trace/rv/monitors/opid/opid.h          |   1 +
 kernel/trace/rv/monitors/snroc/snroc.c        |  18 +-
 kernel/trace/rv/monitors/snroc/snroc.h        |  46 ++-
 kernel/trace/rv/monitors/stall/stall.c        |   2 +-
 kernel/trace/rv/monitors/throttle/Kconfig     |  15 +
 kernel/trace/rv/monitors/throttle/throttle.c  | 302 ++++++++++++++++++
 kernel/trace/rv/monitors/throttle/throttle.h  | 116 +++++++
 .../rv/monitors/throttle/throttle_kunit.c     |  44 +++
 .../rv/monitors/throttle/throttle_kunit.h     |  34 ++
 .../rv/monitors/throttle/throttle_trace.h     |  19 ++
 kernel/trace/rv/rv_monitors_test.c            |   2 +
 kernel/trace/rv/rv_trace.h                    |   3 +
 .../verification/test.d/rv_deadline.tc        |   4 +-
 tools/verification/models/deadline/boost.dot  |  48 +++
 tools/verification/models/deadline/laxity.dot |  36 +++
 .../verification/models/deadline/throttle.dot |  44 +++
 tools/verification/models/sched/snroc.dot     |  30 +-
 tools/verification/rvgen/rvgen/dot2c.py       |   2 +
 tools/verification/rvgen/rvgen/dot2k.py       |  18 +-
 .../rvgen/tests/golden/ha_percpu/ha_percpu.c  |  17 +-
 .../rvgen/tests/golden/test_ha/test_ha.c      |  17 +-
 .../golden/test_ha_kunit/test_ha_kunit.c      |  17 +-
 40 files changed, 1939 insertions(+), 121 deletions(-)
 create mode 100644 kernel/trace/rv/monitors/boost/Kconfig
 create mode 100644 kernel/trace/rv/monitors/boost/boost.c
 create mode 100644 kernel/trace/rv/monitors/boost/boost.h
 create mode 100644 kernel/trace/rv/monitors/boost/boost_trace.h
 create mode 100644 kernel/trace/rv/monitors/laxity/Kconfig
 create mode 100644 kernel/trace/rv/monitors/laxity/laxity.c
 create mode 100644 kernel/trace/rv/monitors/laxity/laxity.h
 create mode 100644 kernel/trace/rv/monitors/laxity/laxity_trace.h
 create mode 100644 kernel/trace/rv/monitors/throttle/Kconfig
 create mode 100644 kernel/trace/rv/monitors/throttle/throttle.c
 create mode 100644 kernel/trace/rv/monitors/throttle/throttle.h
 create mode 100644 kernel/trace/rv/monitors/throttle/throttle_kunit.c
 create mode 100644 kernel/trace/rv/monitors/throttle/throttle_kunit.h
 create mode 100644 kernel/trace/rv/monitors/throttle/throttle_trace.h
 create mode 100644 tools/verification/models/deadline/boost.dot
 create mode 100644 tools/verification/models/deadline/laxity.dot
 create mode 100644 tools/verification/models/deadline/throttle.dot


base-commit: 238650ef6c7c7cca08e032527329424c9fbd70e5
-- 
2.55.0


             reply	other threads:[~2026-09-29 12:49 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-29 12:48 Gabriele Monaco [this message]
2026-09-29 12:48 ` [PATCH 01/10] rv: Force environment reset action on HA monitor start Gabriele Monaco
2026-09-29 12:49 ` [PATCH 02/10] rv: Remove unused ha_monitor_env_invalid() Gabriele Monaco
2026-09-29 12:49 ` [PATCH 03/10] rv: Cache timer budget when starting HA timers Gabriele Monaco
2026-09-29 13:06   ` sashiko-bot
2026-09-29 12:49 ` [PATCH 04/10] tools/rvgen: Default to HA_TIMER_WHEEL for jiffy clocks Gabriele Monaco
2026-09-29 12:49 ` [PATCH 05/10] sched: Add task enqueue/dequeue trace points Gabriele Monaco
2026-09-29 12:49 ` [PATCH 06/10] rv: Add enqueue/dequeue to snroc monitor Gabriele Monaco
2026-09-29 12:49 ` [PATCH 07/10] rv: Add throttle deadline monitor Gabriele Monaco
2026-09-29 13:18   ` sashiko-bot
2026-09-29 12:49 ` [PATCH 08/10] rv: Add dl_server specific monitors Gabriele Monaco
2026-09-29 13:24   ` sashiko-bot
2026-09-29 12:49 ` [PATCH 09/10] rv: Add KUnit test for throttle monitor Gabriele Monaco
2026-09-29 13:18   ` sashiko-bot
2026-09-29 12:49 ` [PATCH 10/10] selftests/verification: Lower stressor priority in rv_deadline Gabriele Monaco

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=20260929124908.177676-1-gmonaco@redhat.com \
    --to=gmonaco@redhat.com \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=namcao@linutronix.de \
    --cc=rostedt@goodmis.org \
    --cc=wen.yang@linux.dev \
    /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 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.