Re: [PATCH] defer/hazptr: Fix line number reference in Section 9.3 Hazard Pointers
"Paul E. McKenney" <[email protected]> Tue, 3 Feb 2026 16:48:35 -0800
| Newsgroups | org.kernel.vger.perfbook |
|---|---|
| Message-ID | <cb0057c6-f97f-4349-9d6b-5d5e2edfad20@paulmck-laptop> |
On Mon, Jan 19, 2026 at 11:11:30PM +0800, Kunwu Chan wrote: > The text incorrectly stated that 'line 8 finds' the pointer condition, > but in Listing 9.4, line 7 contains the if statement that performs > the check, while line 8 contains the return statement. > > This commit: > 1. Adds a label (htr:check) to the if statement on line 7 > 2. Updates the text to reference the if check (htr:check) instead of > the return statement (htr:race1) for the condition check > 3. Clarifies that the if check finds the condition and the return > statement returns the value > > This makes the description more accurate and reflects the actual > code execution flow. > > Signed-off-by: Kunwu Chan <[email protected]> Good catch, applied, thank you! Thanx, Paul > --- > CodeSamples/defer/hazptr.h | 2 +- > defer/hazptr.tex | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/CodeSamples/defer/hazptr.h b/CodeSamples/defer/hazptr.h > index bdeb5c15..2d5a098f 100644 > --- a/CodeSamples/defer/hazptr.h > +++ b/CodeSamples/defer/hazptr.h > @@ -74,7 +74,7 @@ static inline void *_h_t_r_impl(void **p, //\lnlbl{htr:b} > void *tmp; > > tmp = READ_ONCE(*p); //\lnlbl{htr:ro1} > - if (!tmp || tmp == (void *)HAZPTR_POISON) > + if (!tmp || tmp == (void *)HAZPTR_POISON) //\lnlbl{htr:check} > return tmp; //\lnlbl{htr:race1} > WRITE_ONCE(hp->p, tmp); //\lnlbl{htr:store} > smp_mb(); //\lnlbl{htr:mb} > diff --git a/defer/hazptr.tex b/defer/hazptr.tex > index 22fca499..50ff0996 100644 > --- a/defer/hazptr.tex > +++ b/defer/hazptr.tex > @@ -69,8 +69,8 @@ Finally, if it fails due to racing with an update, it returns a special > }\QuickQuizEnd > > \Clnref{htr:ro1} reads the pointer to the object to be protected. > -If \clnref{htr:race1} finds that this pointer was either \co{NULL} or > -the special \co{HAZPTR_POISON} deleted-object token, it returns > +If \clnref{htr:check} finds that this pointer was either \co{NULL} or > +the special \co{HAZPTR_POISON} deleted-object token, then \clnref{htr:race1} returns > the pointer's value to inform the caller of the failure. > Otherwise, \clnref{htr:store} stores the pointer into the specified > hazard pointer, and \clnref{htr:mb} forces full ordering of that > -- > 2.25.1 > >