[PATCH v4 00/14] rv: Add monitors to validate task switch

Gabriele Monaco posted 14 patches 2 months, 2 weeks ago
There is a newer version of this series
Documentation/trace/rv/monitor_sched.rst      | 307 +++++++++++++++---
include/linux/rv.h                            |   3 +-
include/linux/sched.h                         |   7 +-
include/rv/da_monitor.h                       | 129 +++++---
include/trace/events/sched.h                  |  12 +-
kernel/sched/core.c                           |  13 +-
kernel/trace/rv/Kconfig                       |  16 +-
kernel/trace/rv/Makefile                      |   6 +-
kernel/trace/rv/monitors/{tss => nrp}/Kconfig |  12 +-
kernel/trace/rv/monitors/nrp/nrp.c            | 138 ++++++++
kernel/trace/rv/monitors/nrp/nrp.h            |  75 +++++
kernel/trace/rv/monitors/nrp/nrp_trace.h      |  15 +
kernel/trace/rv/monitors/opid/Kconfig         |  19 ++
kernel/trace/rv/monitors/opid/opid.c          | 169 ++++++++++
kernel/trace/rv/monitors/opid/opid.h          | 104 ++++++
.../sncid_trace.h => opid/opid_trace.h}       |   8 +-
kernel/trace/rv/monitors/sched/Kconfig        |   1 +
kernel/trace/rv/monitors/sched/sched.c        |   3 +-
kernel/trace/rv/monitors/sco/sco.c            |   7 +-
kernel/trace/rv/monitors/scpd/Kconfig         |   2 +-
kernel/trace/rv/monitors/scpd/scpd.c          |   7 +-
kernel/trace/rv/monitors/sncid/sncid.c        |  96 ------
kernel/trace/rv/monitors/sncid/sncid.h        |  49 ---
kernel/trace/rv/monitors/snep/Kconfig         |   2 +-
kernel/trace/rv/monitors/snep/snep.c          |   7 +-
kernel/trace/rv/monitors/snep/snep.h          |  14 +-
kernel/trace/rv/monitors/snroc/snroc.c        |   3 +-
.../trace/rv/monitors/{sncid => sssw}/Kconfig |  10 +-
kernel/trace/rv/monitors/sssw/sssw.c          | 116 +++++++
kernel/trace/rv/monitors/sssw/sssw.h          | 105 ++++++
kernel/trace/rv/monitors/sssw/sssw_trace.h    |  15 +
kernel/trace/rv/monitors/sts/Kconfig          |  19 ++
kernel/trace/rv/monitors/sts/sts.c            | 156 +++++++++
kernel/trace/rv/monitors/sts/sts.h            | 117 +++++++
.../{tss/tss_trace.h => sts/sts_trace.h}      |   8 +-
kernel/trace/rv/monitors/tss/tss.c            |  91 ------
kernel/trace/rv/monitors/tss/tss.h            |  47 ---
kernel/trace/rv/monitors/wip/Kconfig          |   2 +-
kernel/trace/rv/monitors/wip/wip.c            |   3 +-
kernel/trace/rv/monitors/wwnr/wwnr.c          |   3 +-
kernel/trace/rv/rv_trace.h                    | 114 ++++---
tools/verification/models/sched/nrp.dot       |  29 ++
tools/verification/models/sched/opid.dot      |  35 ++
tools/verification/models/sched/sncid.dot     |  18 -
tools/verification/models/sched/sssw.dot      |  30 ++
tools/verification/models/sched/sts.dot       |  38 +++
tools/verification/models/sched/tss.dot       |  18 -
tools/verification/rv/src/in_kernel.c         |   4 +-
tools/verification/rv/src/rv.c                |   1 +
tools/verification/rvgen/rvgen/container.py   |  10 +
tools/verification/rvgen/rvgen/dot2c.py       |  20 +-
tools/verification/rvgen/rvgen/generator.py   |  16 +-
52 files changed, 1723 insertions(+), 526 deletions(-)
rename kernel/trace/rv/monitors/{tss => nrp}/Kconfig (51%)
create mode 100644 kernel/trace/rv/monitors/nrp/nrp.c
create mode 100644 kernel/trace/rv/monitors/nrp/nrp.h
create mode 100644 kernel/trace/rv/monitors/nrp/nrp_trace.h
create mode 100644 kernel/trace/rv/monitors/opid/Kconfig
create mode 100644 kernel/trace/rv/monitors/opid/opid.c
create mode 100644 kernel/trace/rv/monitors/opid/opid.h
rename kernel/trace/rv/monitors/{sncid/sncid_trace.h => opid/opid_trace.h} (66%)
delete mode 100644 kernel/trace/rv/monitors/sncid/sncid.c
delete mode 100644 kernel/trace/rv/monitors/sncid/sncid.h
rename kernel/trace/rv/monitors/{sncid => sssw}/Kconfig (58%)
create mode 100644 kernel/trace/rv/monitors/sssw/sssw.c
create mode 100644 kernel/trace/rv/monitors/sssw/sssw.h
create mode 100644 kernel/trace/rv/monitors/sssw/sssw_trace.h
create mode 100644 kernel/trace/rv/monitors/sts/Kconfig
create mode 100644 kernel/trace/rv/monitors/sts/sts.c
create mode 100644 kernel/trace/rv/monitors/sts/sts.h
rename kernel/trace/rv/monitors/{tss/tss_trace.h => sts/sts_trace.h} (67%)
delete mode 100644 kernel/trace/rv/monitors/tss/tss.c
delete mode 100644 kernel/trace/rv/monitors/tss/tss.h
create mode 100644 tools/verification/models/sched/nrp.dot
create mode 100644 tools/verification/models/sched/opid.dot
delete mode 100644 tools/verification/models/sched/sncid.dot
create mode 100644 tools/verification/models/sched/sssw.dot
create mode 100644 tools/verification/models/sched/sts.dot
delete mode 100644 tools/verification/models/sched/tss.dot
[PATCH v4 00/14] rv: Add monitors to validate task switch
Posted by Gabriele Monaco 2 months, 2 weeks ago
This series adds three monitors to the sched collection, extends and
replaces previously existing monitors:

{tss,snroc} => sts:
Not only prove that switches occur in scheduling context and scheduling
needs interrupt disabled but also that each call to the scheduler
disables interrupts to (optionally) switch.

nrp (NEW):
* preemption requires need resched which is cleared by any switch
  (includes a non optimal workaround for /nested/ preemptions)

sssw (NEW):
* suspension requires setting the task to sleepable and, after the
  switch occurs, the task requires a wakeup to come back to runnable

opid (NEW):
* waking and need-resched operations occur with interrupts and
  preemption disabled or in IRQ without explicitly disabling preemption

Also include some minor cleanup patches (1-9) tracepoints (11) and
preparatory fixes (10) covering some corner cases:

The series is currently based on the next tree.

Patch 1 fixes the behaviour of the rv tool with -s and idle tasks.

Patch 2 allows the rv tool to gracefully terminate with SIGTERM

Patch 3 adds da_handle_start_run_event_ also to per-task monitors

Patch 4 removes a trailing whitespace from the rv tracepoint string

Patch 5 returns the registration error in all DA monitor instead of 0

Patch 6 fixes an out-of-bound memory access in DA tracepoints

Patch 7 adjusts monitors to have minimised Kconfig dependencies

Patch 8 properly orders nested monitors in the RV Kconfig file

Patch 9 adjusts dot2c not to create lines over 100 columns

Patch 10 detects race conditions when rv monitors run concurrently and
retries applying the events

Patch 11 adds the need_resched and removes unused arguments from
schedule entry/exit tracepoints

Patch 12 adds the sts monitor to replace tss and sncid

Patch 13 adds the nrp and sssw monitors

Patch 14 adds the opid monitor

NOTES

The nrp and sssw monitors include workarounds for racy conditions:

* A sleeping task requires to set the state to sleepable, but in case of
  a task sleeping on an rtlock, the set sleepable and wakeup events race
  and we don't always see the right order:

 5d..2. 107.488369: event: 639: sleepable x set_sleepable -> sleepable
 4d..5. 107.488369: event: 639: sleepable x wakeup -> running (final)
 5d..3. 107.488385: error: 639: switch_suspend not expected in the state running

    wakeup()                    set_state()
        state=RUNNING
                                    trace_set_state()
        trace_wakeup()
                                    state=SLEEPING

  I added a special event (switch_block) but there may be a better way.
  Taking a pi_lock in rtlock_slowlock_locked when setting the state to
  TASK_RTLOCK_WAIT avoids this race, although this is likely not
  something we want to do.

* I consider preemption any scheduling with preempt==true and assume
  this can happen only if need resched is set.
  In practice, however, we may see a preemption where the flag
  is not set. This can happen in one specific condition:

  need_resched
                  preempt_schedule()
                                        preempt_schedule_irq()
                                            __schedule()
  !need_resched
                      __schedule()

  We start a standard preemption (e.g. from preempt_enable when the flag
  is set), an interrupts occurs before we schedule and, on its exit path,
  it schedules, which clears the need_resched flag.
  When the preempted task runs again, we continue the standard
  preemption started earlier, although the flag is no longer set.

  I added a workaround to allow the model not to fail in this condition,
  by allowing a preemption without need_resched if an interrupt is
  received. This might catch false negatives too.

Changes since V3 [1]:
* Fix condition for lines shorter than 100 columns in dot2c.
* Fix Kconfig tooltip for container monitors in rvgen.
* Improve condition not to skip pid-0 in userspace tool.
* Rearrange monitors to reduce needed tracepoints and arguments.
* Separately track errors when DAs run out of retries due to races.
* Fix issue in opid with multiple handlers in the same interrupt.
* Cleanup patches by removing, squashing and reordering.

Changes since RFC2:
 * Arrange commits to prevent failed build while bisecting.
 * Avoid dot2k generated files to reach the column limit. (Nam Cao)
 * Rearrange and simplify da_monitor retry on racing events.
 * Improve nrp monitor to handle /nested/ preemption on IRQ.
 * Added minor patches (6-10).
 * Cleanup and rearrange order.
Changes since RFC [2]:
 * Remove wakeup tracepoint in try_to_block_task and use a different
   flavour of sched_set_state
 * Split the large srs monitor in two separate monitors for preemption
   and sleep. These no longer have a concept of running task, they just
   enforce the requirements for the different types of sched out.
 * Restore the snroc monitor to describe the relationship between
   generic sched out and sched in.
 * Add opid monitor.
 * Fix some build errors and cleanup.

[1] - https://lore.kernel.org/lkml/20250715071434.22508-1-gmonaco@redhat.com
[2] - https://lore.kernel.org/lkml/20250404084512.98552-11-gmonaco@redhat.com

To: Ingo Molnar <mingo@redhat.com>
To: Peter Zijlstra <peterz@infradead.org>
To: Steven Rostedt <rostedt@goodmis.org>
To: Nam Cao <namcao@linutronix.de>
Cc: Tomas Glozar <tglozar@redhat.com>
Cc: Juri Lelli <jlelli@redhat.com>
Cc: Clark Williams <williams@redhat.com>
Cc: John Kacur <jkacur@redhat.com>

Gabriele Monaco (14):
  tools/rv: Do not skip idle in trace
  tools/rv: Stop gracefully also on SIGTERM
  rv: Add da_handle_start_run_event_ to per-task monitors
  rv: Remove trailing whitespace from tracepoint string
  rv: Return init error when registering monitors
  rv: Use strings in da monitors tracepoints
  rv: Adjust monitor dependencies
  verification/rvgen: Organise Kconfig entries for nested monitors
  tools/dot2c: Fix generated files going over 100 column limit
  rv: Retry when da monitor detects race conditions
  sched: Adapt sched tracepoints for RV task model
  rv: Replace tss and sncid monitors with more complete sts
  rv: Add nrp and sssw per-task monitors
  rv: Add opid per-cpu monitor

 Documentation/trace/rv/monitor_sched.rst      | 307 +++++++++++++++---
 include/linux/rv.h                            |   3 +-
 include/linux/sched.h                         |   7 +-
 include/rv/da_monitor.h                       | 129 +++++---
 include/trace/events/sched.h                  |  12 +-
 kernel/sched/core.c                           |  13 +-
 kernel/trace/rv/Kconfig                       |  16 +-
 kernel/trace/rv/Makefile                      |   6 +-
 kernel/trace/rv/monitors/{tss => nrp}/Kconfig |  12 +-
 kernel/trace/rv/monitors/nrp/nrp.c            | 138 ++++++++
 kernel/trace/rv/monitors/nrp/nrp.h            |  75 +++++
 kernel/trace/rv/monitors/nrp/nrp_trace.h      |  15 +
 kernel/trace/rv/monitors/opid/Kconfig         |  19 ++
 kernel/trace/rv/monitors/opid/opid.c          | 169 ++++++++++
 kernel/trace/rv/monitors/opid/opid.h          | 104 ++++++
 .../sncid_trace.h => opid/opid_trace.h}       |   8 +-
 kernel/trace/rv/monitors/sched/Kconfig        |   1 +
 kernel/trace/rv/monitors/sched/sched.c        |   3 +-
 kernel/trace/rv/monitors/sco/sco.c            |   7 +-
 kernel/trace/rv/monitors/scpd/Kconfig         |   2 +-
 kernel/trace/rv/monitors/scpd/scpd.c          |   7 +-
 kernel/trace/rv/monitors/sncid/sncid.c        |  96 ------
 kernel/trace/rv/monitors/sncid/sncid.h        |  49 ---
 kernel/trace/rv/monitors/snep/Kconfig         |   2 +-
 kernel/trace/rv/monitors/snep/snep.c          |   7 +-
 kernel/trace/rv/monitors/snep/snep.h          |  14 +-
 kernel/trace/rv/monitors/snroc/snroc.c        |   3 +-
 .../trace/rv/monitors/{sncid => sssw}/Kconfig |  10 +-
 kernel/trace/rv/monitors/sssw/sssw.c          | 116 +++++++
 kernel/trace/rv/monitors/sssw/sssw.h          | 105 ++++++
 kernel/trace/rv/monitors/sssw/sssw_trace.h    |  15 +
 kernel/trace/rv/monitors/sts/Kconfig          |  19 ++
 kernel/trace/rv/monitors/sts/sts.c            | 156 +++++++++
 kernel/trace/rv/monitors/sts/sts.h            | 117 +++++++
 .../{tss/tss_trace.h => sts/sts_trace.h}      |   8 +-
 kernel/trace/rv/monitors/tss/tss.c            |  91 ------
 kernel/trace/rv/monitors/tss/tss.h            |  47 ---
 kernel/trace/rv/monitors/wip/Kconfig          |   2 +-
 kernel/trace/rv/monitors/wip/wip.c            |   3 +-
 kernel/trace/rv/monitors/wwnr/wwnr.c          |   3 +-
 kernel/trace/rv/rv_trace.h                    | 114 ++++---
 tools/verification/models/sched/nrp.dot       |  29 ++
 tools/verification/models/sched/opid.dot      |  35 ++
 tools/verification/models/sched/sncid.dot     |  18 -
 tools/verification/models/sched/sssw.dot      |  30 ++
 tools/verification/models/sched/sts.dot       |  38 +++
 tools/verification/models/sched/tss.dot       |  18 -
 tools/verification/rv/src/in_kernel.c         |   4 +-
 tools/verification/rv/src/rv.c                |   1 +
 tools/verification/rvgen/rvgen/container.py   |  10 +
 tools/verification/rvgen/rvgen/dot2c.py       |  20 +-
 tools/verification/rvgen/rvgen/generator.py   |  16 +-
 52 files changed, 1723 insertions(+), 526 deletions(-)
 rename kernel/trace/rv/monitors/{tss => nrp}/Kconfig (51%)
 create mode 100644 kernel/trace/rv/monitors/nrp/nrp.c
 create mode 100644 kernel/trace/rv/monitors/nrp/nrp.h
 create mode 100644 kernel/trace/rv/monitors/nrp/nrp_trace.h
 create mode 100644 kernel/trace/rv/monitors/opid/Kconfig
 create mode 100644 kernel/trace/rv/monitors/opid/opid.c
 create mode 100644 kernel/trace/rv/monitors/opid/opid.h
 rename kernel/trace/rv/monitors/{sncid/sncid_trace.h => opid/opid_trace.h} (66%)
 delete mode 100644 kernel/trace/rv/monitors/sncid/sncid.c
 delete mode 100644 kernel/trace/rv/monitors/sncid/sncid.h
 rename kernel/trace/rv/monitors/{sncid => sssw}/Kconfig (58%)
 create mode 100644 kernel/trace/rv/monitors/sssw/sssw.c
 create mode 100644 kernel/trace/rv/monitors/sssw/sssw.h
 create mode 100644 kernel/trace/rv/monitors/sssw/sssw_trace.h
 create mode 100644 kernel/trace/rv/monitors/sts/Kconfig
 create mode 100644 kernel/trace/rv/monitors/sts/sts.c
 create mode 100644 kernel/trace/rv/monitors/sts/sts.h
 rename kernel/trace/rv/monitors/{tss/tss_trace.h => sts/sts_trace.h} (67%)
 delete mode 100644 kernel/trace/rv/monitors/tss/tss.c
 delete mode 100644 kernel/trace/rv/monitors/tss/tss.h
 create mode 100644 tools/verification/models/sched/nrp.dot
 create mode 100644 tools/verification/models/sched/opid.dot
 delete mode 100644 tools/verification/models/sched/sncid.dot
 create mode 100644 tools/verification/models/sched/sssw.dot
 create mode 100644 tools/verification/models/sched/sts.dot
 delete mode 100644 tools/verification/models/sched/tss.dot


base-commit: d086c886ceb9f59dea6c3a9dae7eb89e780a20c9
-- 
2.50.1
Re: [PATCH v4 00/14] rv: Add monitors to validate task switch
Posted by Steven Rostedt 2 months, 2 weeks ago
On Mon, 21 Jul 2025 10:23:10 +0200
Gabriele Monaco <gmonaco@redhat.com> wrote:

>  Documentation/trace/rv/monitor_sched.rst      | 307 +++++++++++++++---
>  include/linux/rv.h                            |   3 +-
>  include/linux/sched.h                         |   7 +-
>  include/rv/da_monitor.h                       | 129 +++++---
>  include/trace/events/sched.h                  |  12 +-
>  kernel/sched/core.c                           |  13 +-
>  kernel/trace/rv/Kconfig                       |  16 +-
>  kernel/trace/rv/Makefile                      |   6 +-
>  kernel/trace/rv/monitors/{tss => nrp}/Kconfig |  12 +-
>  kernel/trace/rv/monitors/nrp/nrp.c            | 138 ++++++++
>  kernel/trace/rv/monitors/nrp/nrp.h            |  75 +++++
>  kernel/trace/rv/monitors/nrp/nrp_trace.h      |  15 +
>  kernel/trace/rv/monitors/opid/Kconfig         |  19 ++
>  kernel/trace/rv/monitors/opid/opid.c          | 169 ++++++++++
>  kernel/trace/rv/monitors/opid/opid.h          | 104 ++++++
>  .../sncid_trace.h => opid/opid_trace.h}       |   8 +-
>  kernel/trace/rv/monitors/sched/Kconfig        |   1 +
>  kernel/trace/rv/monitors/sched/sched.c        |   3 +-
>  kernel/trace/rv/monitors/sco/sco.c            |   7 +-
>  kernel/trace/rv/monitors/scpd/Kconfig         |   2 +-
>  kernel/trace/rv/monitors/scpd/scpd.c          |   7 +-
>  kernel/trace/rv/monitors/sncid/sncid.c        |  96 ------
>  kernel/trace/rv/monitors/sncid/sncid.h        |  49 ---
>  kernel/trace/rv/monitors/snep/Kconfig         |   2 +-
>  kernel/trace/rv/monitors/snep/snep.c          |   7 +-
>  kernel/trace/rv/monitors/snep/snep.h          |  14 +-
>  kernel/trace/rv/monitors/snroc/snroc.c        |   3 +-
>  .../trace/rv/monitors/{sncid => sssw}/Kconfig |  10 +-
>  kernel/trace/rv/monitors/sssw/sssw.c          | 116 +++++++
>  kernel/trace/rv/monitors/sssw/sssw.h          | 105 ++++++
>  kernel/trace/rv/monitors/sssw/sssw_trace.h    |  15 +
>  kernel/trace/rv/monitors/sts/Kconfig          |  19 ++
>  kernel/trace/rv/monitors/sts/sts.c            | 156 +++++++++
>  kernel/trace/rv/monitors/sts/sts.h            | 117 +++++++
>  .../{tss/tss_trace.h => sts/sts_trace.h}      |   8 +-
>  kernel/trace/rv/monitors/tss/tss.c            |  91 ------
>  kernel/trace/rv/monitors/tss/tss.h            |  47 ---
>  kernel/trace/rv/monitors/wip/Kconfig          |   2 +-
>  kernel/trace/rv/monitors/wip/wip.c            |   3 +-
>  kernel/trace/rv/monitors/wwnr/wwnr.c          |   3 +-
>  kernel/trace/rv/rv_trace.h                    | 114 ++++---

Can you break this up into two patch series? One that modifies the kernel
and one that modifies the tools directory. Linus prefers changes to tools
come in separately to changes in the kernel. So do I as I test them
differently.

Thanks,

-- Steve


>  tools/verification/models/sched/nrp.dot       |  29 ++
>  tools/verification/models/sched/opid.dot      |  35 ++
>  tools/verification/models/sched/sncid.dot     |  18 -
>  tools/verification/models/sched/sssw.dot      |  30 ++
>  tools/verification/models/sched/sts.dot       |  38 +++
>  tools/verification/models/sched/tss.dot       |  18 -
>  tools/verification/rv/src/in_kernel.c         |   4 +-
>  tools/verification/rv/src/rv.c                |   1 +
>  tools/verification/rvgen/rvgen/container.py   |  10 +
>  tools/verification/rvgen/rvgen/dot2c.py       |  20 +-
>  tools/verification/rvgen/rvgen/generator.py   |  16 +-
Re: [PATCH v4 00/14] rv: Add monitors to validate task switch
Posted by Gabriele Monaco 2 months, 2 weeks ago
On Tue, 2025-07-22 at 20:50 -0400, Steven Rostedt wrote:
> 
> Can you break this up into two patch series? One that modifies the
> kernel and one that modifies the tools directory. Linus prefers
> changes to tools come in separately to changes in the kernel. So do I
> as I test them differently.

Mmh, I see. The problem with splitting those patches that strictly is
that patches changing the generating tools also include the adaptation
of kernel files, I could create something like:

  verification/rvgen: Organise Kconfig entries for nested monitors

  Do the tools/ stuff...
  The kernel changes are required to test this!


  rv: Organise Kconfig entries for nested monitors

  As introduced in commit XYZ, adapt the Kconfig...


And send them in separate series, but it doesn't look too clean to me
as the tool change requires the kernel change or, in general (see the
other patch about line length), the two things belong with each other.

Likewise, patches about monitors touch the dot models in tools/ but
those definitely belong in the same patch, otherwise we lose context.

What about keeping the patches as they are right now and send them
separately like this:

kernel series:

    rv: Add opid per-cpu monitor
     tools/verification/models/sched/opid.dot   |  35 ++++++
    rv: Add nrp and sssw per-task monitors
     tools/verification/models/sched/nrp.dot    |  29 +++++
     tools/verification/models/sched/sssw.dot   |  30 ++++++
    rv: Replace tss and sncid monitors with more complete sts
     tools/verification/models/sched/sncid.dot          |  18 ---
     tools/verification/models/sched/sts.dot            |  38 +++++
     tools/verification/models/sched/tss.dot            |  18 ---
    sched: Adapt sched tracepoints for RV task model
    rv: Retry when da monitor detects race conditions
    rv: Adjust monitor dependencies
    rv: Use strings in da monitors tracepoints
    rv: Remove trailing whitespace from tracepoint string
    rv: Add da_handle_start_run_event_ to per-task monitors

tools series:

    tools/dot2c: Fix generated files going over 100 column limit
     kernel/trace/rv/monitors/snep/snep.h    | 14 ++++++++++++--
    verification/rvgen: Organise Kconfig entries for nested monitors
     kernel/trace/rv/Kconfig                     |  5 +++++
    rv: Return init error when registering monitors
     tools/verification/rvgen/rvgen/templates/container/main.c | 3 +--
     tools/verification/rvgen/rvgen/templates/dot2k/main.c     | 3 +--
     kernel/trace/rv/monitors/sched/sched.c | 3 +--
     kernel/trace/rv/monitors/sco/sco.c     | 3 +--
     ...
     kernel/trace/rv/monitors/wwnr/wwnr.c   | 3 +--
    tools/rv: Stop gracefully also on SIGTERM
    tools/rv: Do not skip idle in trace

The rationale is that tools files changed in the kernel patches are not
really tool stuff (dot models). And kernel stuff changed in the tools
are something that the tools generate, and to test them a build should
suffice (kernel robot would do that). Having them together eases
testing the tool, I believe.

Note: I missed the tools templates from "rv: Return init error when
registering monitors" (now in the tools series with added files), I
believe that belongs more to tools but I could also move it or split
them in two if you prefer.

Does it make sense to you?

Thanks,
Gabriele
Re: [PATCH v4 00/14] rv: Add monitors to validate task switch
Posted by Steven Rostedt 2 months, 2 weeks ago
On Wed, 23 Jul 2025 11:55:50 +0200
Gabriele Monaco <gmonaco@redhat.com> wrote:

> The rationale is that tools files changed in the kernel patches are not
> really tool stuff (dot models). And kernel stuff changed in the tools
> are something that the tools generate, and to test them a build should
> suffice (kernel robot would do that). Having them together eases
> testing the tool, I believe.

Yes, I agree with the above.

If you make kernel changes that a new dot file is going to use, then
sure, keep that in the kernel side.

I'm basically saying that any tools enhancements beyond adding new
models and such should be in their own series.

Thanks,

-- Steve