* [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