* [PATCH] memorder: Reconcile Figure 15.15 notation with W+RWC z-flow semantics
@ 2026-03-11 8:48 Kunwu Chan
2026-03-11 14:39 ` Paul E. McKenney
0 siblings, 1 reply; 4+ messages in thread
From: Kunwu Chan @ 2026-03-11 8:48 UTC (permalink / raw)
To: perfbook; +Cc: paulmck, Kunwu Chan
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 <kunwu.chan@linux.dev>
---
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
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] memorder: Reconcile Figure 15.15 notation with W+RWC z-flow semantics
2026-03-11 8:48 [PATCH] memorder: Reconcile Figure 15.15 notation with W+RWC z-flow semantics Kunwu Chan
@ 2026-03-11 14:39 ` Paul E. McKenney
2026-03-12 2:00 ` Kunwu Chan
0 siblings, 1 reply; 4+ messages in thread
From: Paul E. McKenney @ 2026-03-11 14:39 UTC (permalink / raw)
To: Kunwu Chan; +Cc: perfbook
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 <kunwu.chan@linux.dev>
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 <paulmck@kernel.org>
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 <paulmck@kernel.org>
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.
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] memorder: Reconcile Figure 15.15 notation with W+RWC z-flow semantics
2026-03-11 14:39 ` Paul E. McKenney
@ 2026-03-12 2:00 ` Kunwu Chan
2026-03-12 21:15 ` Paul E. McKenney
0 siblings, 1 reply; 4+ messages in thread
From: Kunwu Chan @ 2026-03-12 2:00 UTC (permalink / raw)
To: paulmck; +Cc: perfbook
March 11, 2026 at 10:39 PM, "Paul E. McKenney" <paulmck@kernel.org mailto:paulmck@kernel.org?to=%22Paul%20E.%20McKenney%22%20%3Cpaulmck%40kernel.org%3E > wrote:
>
> 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 <kunwu.chan@linux.dev>
> >
> 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
>
Hi Paul,
Checked — LGTM.
The footnote conversion is the right call. It cleanly resolves
the Figure 15.15 x vs. W+RWC z notation mismatch.
Thanks for landing this promptly.
Best, Kunwu
> >
> > ---
> > 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 <paulmck@kernel.org>
> 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 <paulmck@kernel.org>
>
> 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.
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] memorder: Reconcile Figure 15.15 notation with W+RWC z-flow semantics
2026-03-12 2:00 ` Kunwu Chan
@ 2026-03-12 21:15 ` Paul E. McKenney
0 siblings, 0 replies; 4+ messages in thread
From: Paul E. McKenney @ 2026-03-12 21:15 UTC (permalink / raw)
To: Kunwu Chan; +Cc: perfbook
On Thu, Mar 12, 2026 at 02:00:33AM +0000, Kunwu Chan wrote:
> March 11, 2026 at 10:39 PM, "Paul E. McKenney" <paulmck@kernel.org mailto:paulmck@kernel.org?to=%22Paul%20E.%20McKenney%22%20%3Cpaulmck%40kernel.org%3E > wrote:
>
>
> >
> > 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 <kunwu.chan@linux.dev>
> > >
> > 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
> >
> Hi Paul,
> Checked — LGTM.
> The footnote conversion is the right call. It cleanly resolves
> the Figure 15.15 x vs. W+RWC z notation mismatch.
> Thanks for landing this promptly.
And thank you for checking!
Thanx, Paul
> Best, Kunwu
>
> > >
> > > ---
> > > 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 <paulmck@kernel.org>
> > 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 <paulmck@kernel.org>
> >
> > 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.
> >
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-03-12 21:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-11 8:48 [PATCH] memorder: Reconcile Figure 15.15 notation with W+RWC z-flow semantics Kunwu Chan
2026-03-11 14:39 ` Paul E. McKenney
2026-03-12 2:00 ` Kunwu Chan
2026-03-12 21:15 ` Paul E. McKenney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox