From: Gabriele Monaco <gmonaco@redhat.com>
To: Nam Cao <namcao@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>,
Wander Lairson Costa <wander@redhat.com>,
linux-trace-kernel@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 09/13] verification/rvgen: Delete __parse_constraint()
Date: Thu, 18 Jun 2026 10:13:50 +0200 [thread overview]
Message-ID: <9035cc5b83dda3a8ec06e8488fba62ceb7431123.camel@redhat.com> (raw)
In-Reply-To: <87tsr1mqrj.fsf@yellow.woof>
On Wed, 2026-06-17 at 11:59 +0200, Nam Cao wrote:
> Gabriele Monaco <gmonaco@redhat.com> writes:
> > This function used to validate things we are no longer validating,
> > now it's
> > alright to create a model where a clock is never reset, which
> > doesn't fully
> > make sense. Should we add that check somewhere else?
>
> Theory does not require clock reset, right?
Yeah, I don't see it explicitly mandated in the theory, but the
description (from the sources) states:
The value of a clock thus denotes the amount of time that has been
elapsed since its last reset
But it also says (emphasis added by me):
Clocks /can/ be reset to zero after which they start increasing ...
Nowhere it says clocks /must/ be reset, their value simply won't make
sense (according to the definition).
Now in our implementation we may have some automatic reset when the
monitor starts (I'm planning that to avoid invalid states), which could
make explicit resets superfluous in some cases.
Let's leave that to the user for now and skip this check.
Thanks,
Gabriele
> This is not some sort of
> hidden issue that trips up unsuspecting people. It is obvious from
> the
> model that the clock is never reset. So I think it's fine to allow
> people to do that, maybe there will be an actual useful model without
> clock reset, you never know.
>
> The self.env_types check is enforced by the grammar. We do lose the
> self.env_types check, but that is likely redundant anyway because we
> have this:
>
> for transition in self.transitions:
> [...]
> if transition.reset:
> envs.append(transition.reset.env)
> self.env_stored.add(transition.reset.env)
>
> so it is clear that all envs that are reset do have a storage.
>
> That said, I am fine with keeping these sanity checks, if you are
> paranoid.
>
> Nam
next prev parent reply other threads:[~2026-06-18 8:13 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-08 8:56 [PATCH v3 00/13] rv: Convert rvgen to Lark Nam Cao
2026-06-08 8:56 ` [PATCH v3 01/13] verification/rvgen: Switch LTL parser " Nam Cao
2026-06-08 8:56 ` [PATCH v3 02/13] verification/rvgen: Introduce a parse tree for automata using Lark Nam Cao
2026-06-08 8:56 ` [PATCH v3 03/13] verification/rvgen: Implement state and transition parser based on Lark Nam Cao
2026-06-09 12:54 ` Gabriele Monaco
2026-06-09 13:23 ` Gabriele Monaco
2026-06-08 8:57 ` [PATCH v3 04/13] verification/rvgen: Convert __fill_verify_invariants_func() to Lark Nam Cao
2026-06-08 8:57 ` [PATCH v3 05/13] verification/rvgen: Convert __fill_setup_invariants_func() " Nam Cao
2026-06-09 12:39 ` Gabriele Monaco
2026-06-16 9:00 ` Nam Cao
2026-06-08 8:57 ` [PATCH v3 06/13] verification/rvgen: Convert __fill_verify_guards_func() " Nam Cao
2026-06-08 8:57 ` [PATCH v3 07/13] rv: Simplify hybrid automata monitors's clock variables Nam Cao
2026-06-08 8:57 ` [PATCH v3 08/13] verification/rvgen: Simplify the generation for " Nam Cao
2026-06-11 8:39 ` Gabriele Monaco
2026-06-08 8:57 ` [PATCH v3 09/13] verification/rvgen: Delete __parse_constraint() Nam Cao
2026-06-10 15:04 ` Gabriele Monaco
2026-06-17 9:59 ` Nam Cao
2026-06-18 8:13 ` Gabriele Monaco [this message]
2026-06-18 13:24 ` Nam Cao
2026-06-08 8:57 ` [PATCH v3 10/13] verification/rvgen: Switch __get_event_variables() to Lark Nam Cao
2026-06-10 15:04 ` Gabriele Monaco
2026-06-08 8:57 ` [PATCH v3 11/13] verification/rvgen: Switch __create_matrix() " Nam Cao
2026-06-10 15:05 ` Gabriele Monaco
2026-06-08 8:57 ` [PATCH v3 12/13] verification/rvgen: Remove the old state variables Nam Cao
2026-06-10 15:06 ` Gabriele Monaco
2026-06-08 8:57 ` [PATCH v3 13/13] verification/rvgen: Remove dead code Nam Cao
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=9035cc5b83dda3a8ec06e8488fba62ceb7431123.camel@redhat.com \
--to=gmonaco@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=namcao@linutronix.de \
--cc=rostedt@goodmis.org \
--cc=wander@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox