Re: [PATCH] memorder: Reconcile Figure 15.15 notation with W+RWC z-flow semantics
"Paul E. McKenney" <[email protected]> Wed, 11 Mar 2026 07:39:28 -0700
| Newsgroups | org.kernel.vger.perfbook |
|---|---|
| Message-ID | <15acbc05-3b54-4d9e-8a74-f763a990ba3f@paulmck-laptop> |
On Wed, Mar 11, 2026 at 04:48:13PM +0800, Kunwu Chan wrote: > State explicitly that Figure 15.15 uses x as a schematic variable name, while the surrounding W+RWC analysis in Listing 15.18 follows the concrete z-flow (P2 -> z -> P1). This eliminates notation drift across cross-references and preserves propagation-argument fidelity. > > Signed-off-by: Kunwu Chan <[email protected]> Again, good eyes, and thank you! I queued and pushed all three, and added a fourth commit that converted this to a footnote and mentioned both variables and the listing, shown below. Please check it to make sure that I have not messed something up. Thanx, Paul > --- > memorder/memorder.tex | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/memorder/memorder.tex b/memorder/memorder.tex > index 2357e7ea..8eb14a29 100644 > --- a/memorder/memorder.tex > +++ b/memorder/memorder.tex > @@ -2760,6 +2760,8 @@ that \co{P1()}'s read from \co{z} happens much later in time, but > nevertheless still sees the old value of zero. > This situation is depicted in > \cref{fig:memorder:Load-to-Store is Counter-Temporal}: > +The figure uses \co{x} as a generic variable name for the same > +counter-temporal pattern. > Just because a load sees the old value does \emph{not} mean that > this load executed at an earlier time than did the store of the > new value. > -- > 2.25.1 ------------------------------------------------------------------------ commit d2c790e9077625e2e28ee919619b4d18175c3665 Author: Paul E. McKenney <[email protected]> Date: Wed Mar 11 07:34:07 2026 -0700 memorder: Convert Figure 15.15 variable-x commentary to footnote Signed-off-by: Paul E. McKenney <[email protected]> diff --git a/memorder/memorder.tex b/memorder/memorder.tex index 388903b6..4503c0a6 100644 --- a/memorder/memorder.tex +++ b/memorder/memorder.tex @@ -2759,9 +2759,10 @@ It therefore takes time for the effect of the \co{P2()}'s store to that \co{P1()}'s read from \co{z} happens much later in time, but nevertheless still sees the old value of zero. This situation is depicted in -\cref{fig:memorder:Load-to-Store is Counter-Temporal}: -The figure uses \co{x} as a generic variable name for the same -counter-temporal pattern. +\cref{fig:memorder:Load-to-Store is Counter-Temporal}:\footnote{ + The figure uses \co{x} as a generic variable name for the same + counter-temporal pattern that uses the variable \co{z} in + \cref{lst:memorder:W+RWC Litmus Test With Release (No Ordering)}.} Just because a load sees the old value does \emph{not} mean that this load executed at an earlier time than did the store of the new value.