On Sun, 21 Apr 2019 11:45:06 -0700, Paul E. McKenney wrote: > On Mon, Apr 22, 2019 at 12:25:00AM +0900, Akira Yokosawa wrote: >> Hi Paul, >> >> The sentence shown below as a diff looks incomplete to me. >> What is your intention here? > > Not that! Thank you for catching this!!! Please see below for an > attempted fix. Thoughts? > > I have queued your four patches. My problems are (1) force of habit > and (2) failing to remember that comment-only lines are discarded. And please remember the option "keepcomment=yes" can change the behavior. This reminds me that I need to update style guide. > I am not all that happy with the #ifdef, but it beats the alternative. > But what I did in this case was to just remove the fprintf() in favor > of the BUG_ON(). ;-) Yes, that sounds reasonable. > > Thanx, Paul > > ------------------------------------------------------------------------ > > commit 72e774fda87eaead9637d887426b701ec229664d > Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxx> > Date: Sun Apr 21 11:33:49 2019 -0700 > > defer/hazptr: Fix broken statement of restart location constraints > > Reported-by: Akira Yokosawa <akiyks@xxxxxxxxx> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxx> > > diff --git a/defer/hazptr.tex b/defer/hazptr.tex > index 4b61d34d334c..b491c590ae2d 100644 > --- a/defer/hazptr.tex > +++ b/defer/hazptr.tex > @@ -239,9 +239,12 @@ Which is a very good thing, because B's successor is the now-freed > element~C, which means that Thread~0's subsequent accesses might have > resulted in arbitrarily horrible memory corruption, especially if the > memory for element~C had since been re-allocated for some other purpose. > -Therefore, statically allocated global variables), hazard-pointer > -readers must typically restart the full traversal in the face of a > -concurrent deletion. > +Therefore, hazard-pointer readers must typically restart the full > +traversal in the face of a concurrent deletion. > +Often the restart must go back to some global (and thus immortal) pointer, > +but it is sometimes possible to restart at some intermediate location > +if that location is guaranteed to still be live, for example, due to > +the current thread holding a lock, a reference count, etc. Looks good to me! Thanks, Akira > > \QuickQuiz{} > Readers must ``typically'' restart? >