rv: Add option for nested monitors and include sched
authorGabriele Monaco <gmonaco@redhat.com>
Wed, 5 Mar 2025 14:03:55 +0000 (15:03 +0100)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Mon, 24 Mar 2025 21:27:39 +0000 (17:27 -0400)
commitcb85c660fcd4b3a03ed993affa0b2d1a8af2f06b
treec3cfa6547ccc95b660b0e477702c7351dc7f0bf1
parent26f80681a09b95fd64bcf33d02e258e78a30842b
rv: Add option for nested monitors and include sched

Monitors describing complex systems, such as the scheduler, can easily
grow to the point where they are just hard to understand because of the
many possible state transitions.
Often it is possible to break such descriptions into smaller monitors,
sharing some or all events. Enabling those smaller monitors concurrently
is, in fact, testing the system as if we had one single larger monitor.
Splitting models into multiple specification is not only easier to
understand, but gives some more clues when we see errors.

Add the possibility to create container monitors, whose only purpose is
to host other nested monitors. Enabling a container monitor enables all
nested ones, but it's still possible to enable nested monitors
independently.
Add the sched monitor as first container, for now empty.

Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Juri Lelli <juri.lelli@redhat.com>
Link: https://lore.kernel.org/20250305140406.350227-3-gmonaco@redhat.com
Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
include/linux/rv.h
kernel/trace/rv/Kconfig
kernel/trace/rv/Makefile
kernel/trace/rv/monitors/sched/Kconfig [new file with mode: 0644]
kernel/trace/rv/monitors/sched/sched.c [new file with mode: 0644]
kernel/trace/rv/monitors/sched/sched.h [new file with mode: 0644]
kernel/trace/rv/monitors/wip/wip.c
kernel/trace/rv/monitors/wwnr/wwnr.c
kernel/trace/rv/rv.c
kernel/trace/rv/rv.h
kernel/trace/rv/rv_reactors.c