On Fri, Feb 14, 2020 at 12:28:24AM +0900, Akira Yokosawa wrote: > Hi, Junchang, > > On Wed, 12 Feb 2020 22:35:15 +0800, Junchang Wang wrote: > > Signed-off-by: Junchang Wang <junchangwang@xxxxxxxxx> > > --- > > > > Hi Paul, > > > > I'm reading the latest version of the perfbook and this patch contains fixes to > > some typos in Section Data Structures. Hope it helps. > > > > Thanks, > > --Junchang > > > > -- > > datastruct/datastruct.tex | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/datastruct/datastruct.tex b/datastruct/datastruct.tex > > index 4b62471..e21952b 100644 > > --- a/datastruct/datastruct.tex > > +++ b/datastruct/datastruct.tex > > @@ -700,7 +700,7 @@ Of course, it is quite possible that the differences in lookup performance > > are affected by the differences in update rates. > > One way to check this is to artificially throttle the update rates of > > per-bucket locking and hazard pointers to match that of RCU. > > -Doing so does not significantly improve the lookup performace of > > +Doing so does not significantly improve the lookup performance of > > per-bucket locking, nor does it close the gap between hazard pointers > > and RCU. > > However, removing the read-side memory barriers from hazard pointers > > @@ -800,8 +800,8 @@ scalability, external consistency, or all of the above. > > \section{Non-Partitionable Data Structures} > > \label{sec:datastruct:Non-Partitionable Data Structures} > > % > > -\epigraph{Undertake somthing difficult, otherwise you will never grow.} > > - {\emph{Ronald E.~Osburn}} > > +\epigraph{Undertake something difficult, otherwise you will never grow.} > > + {\emph{Ronald E.~Osborn}} > > > > \begin{figure}[tb] > > \centering > > @@ -1063,7 +1063,7 @@ Otherwise, a concurrent resize operation has already distributed this > > bucket, so line~\lnref{new_hashtbl} proceeds to the new hash table, > > line~\lnref{get_newbkt} selects the bucket corresponding to the key, > > and line~\lnref{acq_newbkt} acquires the bucket's lock. > > -\Clnref{lsp1b}{lsp1e} store the bucket pointer and > > +\Clnrefrange{lsp1b}{lsp1e} store the bucket pointer and > > Thanks for catching this! And from me as well! Queued and pushed, thank you! > As far as I see, there is no other error in the use of \clnrefrange/\crefrange > at the moment. > To prevent similar typos in the future, I'll add a check of this pattern somewhere > in the build script. Looking forward to it! > PS: > > The email address in the From: field does not match the SOB tag. > Is this intentional? I made the Signed-off-by: field match the From: field. This can be changed if need be. Thanx, Paul > > pointer-set index into their respective fields in the > > \co{ht_lock_state} structure, which again communicates this information to > > \co{hashtab_add()}, \co{hashtab_del()}, and \co{hashtab_unlock_mod()}. > >