Re: [PATCH] memorder: Reconcile Figure 15.15 notation with W+RWC z-flow semantics

"Kunwu Chan" <[email protected]> Thu, 12 Mar 2026 02:00:33 +0000
Newsgroups org.kernel.vger.perfbook
Message-ID <[email protected]>
March 11, 2026 at 10:39 PM, "Paul E. McKenney" <[email protected] mailto=
:[email protected]?to=3D%22Paul%20E.%20McKenney%22%20%3Cpaulmck%40kernel=
.org%3E > wrote:


>=20
>=20On Wed, Mar 11, 2026 at 04:48:13PM +0800, Kunwu Chan wrote:
>=20
>=20>=20
>=20> State explicitly that Figure 15.15 uses x as a schematic variable n=
ame, while the surrounding W+RWC analysis in Listing 15.18 follows the co=
ncrete z-flow (P2 -> z -> P1). This eliminates notation drift across cros=
s-references and preserves propagation-argument fidelity.
> >=20=20
>=20>  Signed-off-by: Kunwu Chan <[email protected]>
> >=20
>=20Again, 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.
>=20
>=20 Thanx, Paul
>=20
Hi=20Paul,
Checked =E2=80=94 LGTM.
The footnote conversion is the right call. It cleanly resolves=20
the=20Figure 15.15 x vs. W+RWC z notation mismatch.
Thanks for landing this promptly.

Best, Kunwu

> >=20
>=20> ---
> >  memorder/memorder.tex | 2 ++
> >  1 file changed, 2 insertions(+)
> >=20=20
>=20>  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.
> >  --=20
>=20>  2.25.1
> >=20
>=20---------------------------------------------------------------------=
---
>=20
>=20commit d2c790e9077625e2e28ee919619b4d18175c3665
> Author: Paul E. McKenney <[email protected]>
> Date: Wed Mar 11 07:34:07 2026 -0700
>=20
>=20 memorder: Convert Figure 15.15 variable-x commentary to footnote
>=20=20
>=20 Signed-off-by: Paul E. McKenney <[email protected]>
>=20
>=20diff --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 \c=
o{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.
>