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
next 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.