[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6754c61d60fc161963d0625a4b647a241b363fc5.camel@redhat.com>
Date: Thu, 07 Aug 2025 15:06:38 +0200
From: Gabriele Monaco <gmonaco@...hat.com>
To: Nam Cao <namcao@...utronix.de>, Steven Rostedt <rostedt@...dmis.org>,
Masami Hiramatsu <mhiramat@...nel.org>, Mathieu Desnoyers
<mathieu.desnoyers@...icios.com>, linux-trace-kernel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 3/5] verification/rvgen/ltl: Support per-cpu monitor
generation
On Wed, 2025-08-06 at 10:01 +0200, Nam Cao wrote:
> Add support to generate per-cpu LTL monitors. Similar to generating
> per-cpu monitors from .dot files, the "-t per_cpu" parameter can be
> used to generate per-cpu monitors from .ltl files.
>
> Signed-off-by: Nam Cao <namcao@...utronix.de>
> ---
> v2: Rename "implicit" to "cpu"
> ---
>
> -static void ltl_atoms_init(struct task_struct *task, struct
> ltl_monitor *mon, bool task_creation)
> +static void ltl_atoms_init(%%TARGET_ARG%%, struct ltl_monitor *mon,
> bool target_creation)
> {
> /*
> * This should initialize as many atomic propositions as
> possible.
> *
> - * @task_creation indicates whether the task is being
> created. This is
> - * false if the task is already running before the monitor
> is enabled.
> + * @target_creation indicates whether the monitored target
> is being
> + * created. This is false if the monitor target is already
> online before
> + * the monitor is enabled.
I get you're trying to be more type-agnostic, but I believe this
/online/ is a bit imprecise, unless you register a hotplug handler and
just initialise the online CPUs (much of an overkill I'd say).
What about something like "this is false if the monitor exists already
before the monitor is enabled"
Other than that it looks good to me.
Reviewed-by: Gabriele Monaco <gmonaco@...hat.com>
Thanks,
Gabriele
> */
> %%ATOMS_INIT%%
> }
> diff --git a/tools/verification/rvgen/rvgen/templates/ltl2k/trace.h
> b/tools/verification/rvgen/rvgen/templates/ltl2k/trace.h
> index 49394c4b0f1c..87d3a1308926 100644
> --- a/tools/verification/rvgen/rvgen/templates/ltl2k/trace.h
> +++ b/tools/verification/rvgen/rvgen/templates/ltl2k/trace.h
> @@ -6,9 +6,8 @@
>
> #ifdef CONFIG_RV_MON_%%MODEL_NAME_UP%%
> DEFINE_EVENT(event_%%MONITOR_CLASS%%, event_%%MODEL_NAME%%,
> - TP_PROTO(struct task_struct *task, char *states, char
> *atoms, char *next),
> - TP_ARGS(task, states, atoms, next));
> +%%TRACEPOINT_ARGS_SKEL_EVENT%%);
> +
> DEFINE_EVENT(error_%%MONITOR_CLASS%%, error_%%MODEL_NAME%%,
> - TP_PROTO(struct task_struct *task),
> - TP_ARGS(task));
> +%%TRACEPOINT_ARGS_SKEL_ERROR%%);
> #endif /* CONFIG_RV_MON_%%MODEL_NAME_UP%% */
Powered by blists - more mailing lists