From: Alan Stern <stern@rowland.harvard.edu>
To: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Boqun Feng <boqun.feng@gmail.com>,
Andrea Parri <parri.andrea@gmail.com>,
Jonas Oberhauser <jonas.oberhauser@huaweicloud.com>,
will@kernel.org, peterz@infradead.org, npiggin@gmail.com,
dhowells@redhat.com, j.alglave@ucl.ac.uk, luc.maranget@inria.fr,
akiyks@gmail.com, dlustig@nvidia.com, joel@joelfernandes.org,
urezki@gmail.com, quic_neeraju@quicinc.com, frederic@kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/2] tools/memory-model: Make ppo a subrelation of po
Date: Sun, 29 Jan 2023 21:18:24 -0500 [thread overview]
Message-ID: <Y9co8OxyRehs8mob@rowland.harvard.edu> (raw)
In-Reply-To: <20230129230900.GK2948950@paulmck-ThinkPad-P17-Gen-1>
On Sun, Jan 29, 2023 at 03:09:00PM -0800, Paul E. McKenney wrote:
> On Sun, Jan 29, 2023 at 01:43:53PM -0800, Boqun Feng wrote:
> > in lock.cat:
> >
> > (* Allow up to one unmatched LKW per location; more must deadlock *)
> > let UNMATCHED-LKW = LKW \ domain(critical)
> > empty ([UNMATCHED-LKW] ; loc ; [UNMATCHED-LKW]) \ id as unmatched-locks
> >
> > we rule out deadlocks from the execution candidates we care about.
>
> Thank you, Boqun!
Actually that's only part of it. The other part is rather obscure:
(* Generate all co relations, including LKW events but not UL *)
let co0 = co0 | ([IW] ; loc ; [LKW]) |
(([LKW] ; loc ; [UNMATCHED-LKW]) \ [UNMATCHED-LKW])
Implicitly this says that any lock with no corresponding unlock must
come last in the coherence order, which implies the unmatched-locks rule
(since only one lock event can be last). By itself, the unmatched-locks
rule would not prevent P3 from executing before P1, provided P1 executes
both its lock and unlock.
Alan
next prev parent reply other threads:[~2023-01-30 2:18 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-26 13:46 [PATCH v2 0/2] Streamlining treatment of smp_mb__after_unlock_lock Jonas Oberhauser
2023-01-26 13:46 ` [PATCH v2 1/2] tools/memory-model: Unify UNLOCK+LOCK pairings to po-unlock-lock-po Jonas Oberhauser
2023-01-26 16:36 ` Alan Stern
2023-01-26 20:08 ` Paul E. McKenney
2023-01-26 23:21 ` Paul E. McKenney
2023-01-27 13:18 ` Jonas Oberhauser
2023-01-27 15:13 ` Paul E. McKenney
2023-01-27 15:57 ` Jonas Oberhauser
2023-01-27 16:48 ` Paul E. McKenney
2023-01-26 13:46 ` [PATCH v2 2/2] tools/memory-model: Make ppo a subrelation of po Jonas Oberhauser
2023-01-26 16:36 ` Alan Stern
2023-01-27 14:31 ` Jonas Oberhauser
2023-01-28 19:56 ` Alan Stern
2023-01-28 22:14 ` Andrea Parri
2023-01-28 22:21 ` Andrea Parri
2023-01-28 22:59 ` Alan Stern
2023-01-29 5:17 ` Paul E. McKenney
2023-01-29 16:03 ` Alan Stern
2023-01-29 16:21 ` Paul E. McKenney
2023-01-29 17:28 ` Andrea Parri
2023-01-29 18:44 ` Paul E. McKenney
2023-01-29 21:43 ` Boqun Feng
2023-01-29 23:09 ` Paul E. McKenney
2023-01-30 2:18 ` Alan Stern [this message]
2023-01-30 4:43 ` Paul E. McKenney
2023-01-29 19:17 ` Paul E. McKenney
2023-01-29 17:11 ` Andrea Parri
2023-01-29 22:10 ` Alan Stern
2023-01-29 22:19 ` Jonas Oberhauser
2023-01-30 2:39 ` Alan Stern
2023-01-30 4:36 ` Paul E. McKenney
2023-01-30 16:47 ` Alan Stern
2023-01-30 16:50 ` Paul E. McKenney
2023-01-31 13:56 ` Jonas Oberhauser
2023-01-31 15:06 ` Alan Stern
2023-01-31 15:33 ` Jonas Oberhauser
2023-01-31 16:55 ` Alan Stern
2023-02-01 10:37 ` Jonas Oberhauser
2023-01-30 4:46 ` Paul E. McKenney
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=Y9co8OxyRehs8mob@rowland.harvard.edu \
--to=stern@rowland.harvard.edu \
--cc=akiyks@gmail.com \
--cc=boqun.feng@gmail.com \
--cc=dhowells@redhat.com \
--cc=dlustig@nvidia.com \
--cc=frederic@kernel.org \
--cc=j.alglave@ucl.ac.uk \
--cc=joel@joelfernandes.org \
--cc=jonas.oberhauser@huaweicloud.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luc.maranget@inria.fr \
--cc=npiggin@gmail.com \
--cc=parri.andrea@gmail.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=quic_neeraju@quicinc.com \
--cc=urezki@gmail.com \
--cc=will@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.