From nobody Fri Feb 13 00:17:24 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 564B11B393A for ; Thu, 2 Jan 2025 15:25:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735831529; cv=none; b=aA2sZXb/4pSIRvsc95cGKhpfBU08SxR78U9WdMVb+AraDUyd+tU5D3wVqPKZqsGtberPtwVyn6xZWqDhOA/VJy2q/BaM8oW78wd5NWdhV3ASFNaiEIE70OK5DE9xIq8TJ5nvV014Zu2xWMMWLRAsmayoEhWxIdumJHkCyPbiIjg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735831529; c=relaxed/simple; bh=2IzI3SQw488cqlBxINeLWKLMf+KRDvEqT3lgqpLH4nk=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=J8sRZ4mWsZh6XAhqfEgUfsAN+sIu+mYsSX+GGxG/reKBqdPpDjbM6STTqQauuv6YbJ2rL0f8BO7TNKJlsuDsgUsj1QJ4WzGenZvEz+tfPxE/Rk8uMwTXDfFAE/m54sD/mAwU1dIHM9KUofcHwsYSZm7l3cEkzgLZ5CVdk6KLP2A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C8C5C4CEDD; Thu, 2 Jan 2025 15:25:29 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.98) (envelope-from ) id 1tTN5x-00000005D2s-2mcG; Thu, 02 Jan 2025 10:26:45 -0500 Message-ID: <20250102152645.513903495@goodmis.org> User-Agent: quilt/0.68 Date: Thu, 02 Jan 2025 10:26:27 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Tomas Glozar , John Kacur , Juri Lelli , Thomas Gleixner , Gabriele Monaco Subject: [for-next][PATCH 3/8] verification/dot2k: More robust template variables References: <20250102152624.158129997@goodmis.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gabriele Monaco The dot2k templates currently have variables that are automatically filled by the script marked as an uppercase VARIABLE. This requires some care while adding new variables to avoid using valid keywords and get them unexpectedly substituted. This patch switches the variables to the %%VARIABLE%% notation to make the pattern substitution more robust. Cc: Juri Lelli Cc: Thomas Gleixner Cc: John Kacur Link: https://lore.kernel.org/20241227144752.362911-4-gmonaco@redhat.com Signed-off-by: Gabriele Monaco Signed-off-by: Steven Rostedt (Google) --- tools/verification/dot2/dot2k.py | 14 +++--- .../verification/dot2/dot2k_templates/main.c | 50 +++++++++---------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/tools/verification/dot2/dot2k.py b/tools/verification/dot2/dot= 2k.py index 15d6f7048f8d..c88b3c011706 100644 --- a/tools/verification/dot2/dot2k.py +++ b/tools/verification/dot2/dot2k.py @@ -107,13 +107,13 @@ class dot2k(Dot2c): tracepoint_attach =3D self.fill_tracepoint_attach_probe() tracepoint_detach =3D self.fill_tracepoint_detach_helper() =20 - main_c =3D main_c.replace("MONITOR_TYPE", monitor_type) - main_c =3D main_c.replace("MIN_TYPE", min_type) - main_c =3D main_c.replace("MODEL_NAME", self.name) - main_c =3D main_c.replace("NR_EVENTS", str(nr_events)) - main_c =3D main_c.replace("TRACEPOINT_HANDLERS_SKEL", tracepoint_h= andlers) - main_c =3D main_c.replace("TRACEPOINT_ATTACH", tracepoint_attach) - main_c =3D main_c.replace("TRACEPOINT_DETACH", tracepoint_detach) + main_c =3D main_c.replace("%%MONITOR_TYPE%%", monitor_type) + main_c =3D main_c.replace("%%MIN_TYPE%%", min_type) + main_c =3D main_c.replace("%%MODEL_NAME%%", self.name) + main_c =3D main_c.replace("%%NR_EVENTS%%", str(nr_events)) + main_c =3D main_c.replace("%%TRACEPOINT_HANDLERS_SKEL%%", tracepoi= nt_handlers) + main_c =3D main_c.replace("%%TRACEPOINT_ATTACH%%", tracepoint_atta= ch) + main_c =3D main_c.replace("%%TRACEPOINT_DETACH%%", tracepoint_deta= ch) =20 return main_c =20 diff --git a/tools/verification/dot2/dot2k_templates/main.c b/tools/verific= ation/dot2/dot2k_templates/main.c index 2419a6f89cd8..4a05fef7f3c7 100644 --- a/tools/verification/dot2/dot2k_templates/main.c +++ b/tools/verification/dot2/dot2k_templates/main.c @@ -8,7 +8,7 @@ #include #include =20 -#define MODULE_NAME "MODEL_NAME" +#define MODULE_NAME "%%MODEL_NAME%%" =20 /* * XXX: include required tracepoint headers, e.g., @@ -20,15 +20,15 @@ * This is the self-generated part of the monitor. Generally, there is no = need * to touch this section. */ -#include "MODEL_NAME.h" +#include "%%MODEL_NAME%%.h" =20 /* * Declare the deterministic automata monitor. * * The rv monitor reference is needed for the monitor declaration. */ -static struct rv_monitor rv_MODEL_NAME; -DECLARE_DA_MON_MONITOR_TYPE(MODEL_NAME, MIN_TYPE); +static struct rv_monitor rv_%%MODEL_NAME%%; +DECLARE_DA_MON_%%MONITOR_TYPE%%(%%MODEL_NAME%%, %%MIN_TYPE%%); =20 /* * This is the instrumentation part of the monitor. @@ -37,55 +37,55 @@ DECLARE_DA_MON_MONITOR_TYPE(MODEL_NAME, MIN_TYPE); * are translated into model's event. * */ -TRACEPOINT_HANDLERS_SKEL -static int enable_MODEL_NAME(void) +%%TRACEPOINT_HANDLERS_SKEL%% +static int enable_%%MODEL_NAME%%(void) { int retval; =20 - retval =3D da_monitor_init_MODEL_NAME(); + retval =3D da_monitor_init_%%MODEL_NAME%%(); if (retval) return retval; =20 -TRACEPOINT_ATTACH +%%TRACEPOINT_ATTACH%% =20 return 0; } =20 -static void disable_MODEL_NAME(void) +static void disable_%%MODEL_NAME%%(void) { - rv_MODEL_NAME.enabled =3D 0; + rv_%%MODEL_NAME%%.enabled =3D 0; =20 -TRACEPOINT_DETACH +%%TRACEPOINT_DETACH%% =20 - da_monitor_destroy_MODEL_NAME(); + da_monitor_destroy_%%MODEL_NAME%%(); } =20 /* * This is the monitor register section. */ -static struct rv_monitor rv_MODEL_NAME =3D { - .name =3D "MODEL_NAME", - .description =3D "auto-generated MODEL_NAME", - .enable =3D enable_MODEL_NAME, - .disable =3D disable_MODEL_NAME, - .reset =3D da_monitor_reset_all_MODEL_NAME, +static struct rv_monitor rv_%%MODEL_NAME%% =3D { + .name =3D "%%MODEL_NAME%%", + .description =3D "auto-generated %%MODEL_NAME%%", + .enable =3D enable_%%MODEL_NAME%%, + .disable =3D disable_%%MODEL_NAME%%, + .reset =3D da_monitor_reset_all_%%MODEL_NAME%%, .enabled =3D 0, }; =20 -static int __init register_MODEL_NAME(void) +static int __init register_%%MODEL_NAME%%(void) { - rv_register_monitor(&rv_MODEL_NAME); + rv_register_monitor(&rv_%%MODEL_NAME%%); return 0; } =20 -static void __exit unregister_MODEL_NAME(void) +static void __exit unregister_%%MODEL_NAME%%(void) { - rv_unregister_monitor(&rv_MODEL_NAME); + rv_unregister_monitor(&rv_%%MODEL_NAME%%); } =20 -module_init(register_MODEL_NAME); -module_exit(unregister_MODEL_NAME); +module_init(register_%%MODEL_NAME%%); +module_exit(unregister_%%MODEL_NAME%%); =20 MODULE_LICENSE("GPL"); MODULE_AUTHOR("dot2k: auto-generated"); -MODULE_DESCRIPTION("MODEL_NAME"); +MODULE_DESCRIPTION("%%MODEL_NAME%%"); --=20 2.45.2