Re: [PATCH memory-model 5/8] tools/memory-model: Add a glossary of LKMM terms

From: Alan Stern
Date: Fri Nov 06 2020 - 14:24:15 EST


On Fri, Nov 06, 2020 at 10:04:46AM -0800, Paul E. McKenney wrote:
> On Fri, Nov 06, 2020 at 11:59:30AM -0500, Alan Stern wrote:
> > > + See also "Control Dependency".
> >
> > There should also be an entry for "Data Dependency", linked from here
> > and from Control Dependency.
> >
> > > +Marked Access: An access to a variable that uses an special function or
> > > + macro such as "r1 = READ_ONCE()" or "smp_store_release(&a, 1)".
> >
> > How about "r1 = READ_ONCE(x)"?
>
> Good catches! I am planning to squash the commit below into the
> original. Does that cover it?

No, because you didn't add a glossary entry for "Data Dependency" and
there's no link from "Control Dependency" to "Data Dependency".

Alan

> Thanx, Paul
>
> ------------------------------------------------------------------------
>
> commit 27c694f5a049d3edac1f258b888d02650cec936a
> Author: Paul E. McKenney <paulmck@xxxxxxxxxx>
> Date: Fri Nov 6 10:02:41 2020 -0800
>
> squash! tools/memory-model: Add a glossary of LKMM terms
>
> [ paulmck: Apply Alan Stern feedback. ]
> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
>
> diff --git a/tools/memory-model/Documentation/glossary.txt b/tools/memory-model/Documentation/glossary.txt
> index 383151b..471bf13 100644
> --- a/tools/memory-model/Documentation/glossary.txt
> +++ b/tools/memory-model/Documentation/glossary.txt
> @@ -22,7 +22,7 @@ Address Dependency: When the address of a later memory access is computed
> dependencies. Please see Documentation/RCU/rcu_dereference.txt
> for more information.
>
> - See also "Control Dependency".
> + See also "Control Dependency" and "Data Dependency".
>
> Acquire: With respect to a lock, acquiring that lock, for example,
> using spin_lock(). With respect to a non-lock shared variable,
> @@ -109,7 +109,7 @@ Happens-Before (hb): A relation between two accesses in which LKMM
> section of explanation.txt.
>
> Marked Access: An access to a variable that uses an special function or
> - macro such as "r1 = READ_ONCE()" or "smp_store_release(&a, 1)".
> + macro such as "r1 = READ_ONCE(x)" or "smp_store_release(&a, 1)".
>
> See also "Unmarked Access".
>