On Tue, Dec 21, 2021 at 08:41:47AM +0800, Zhouyi Zhou wrote: > Thanks Paul and Akira for correcting me and helping me (who needs to > be improved ;-)) make progress > > On Tue, Dec 21, 2021 at 7:39 AM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote: > > > > On Tue, Dec 21, 2021 at 06:42:04AM +0800, Zhouyi Zhou wrote: > > > Thanks Paul and Akira > > > > > > great improvement to perfbook's glossary! > > > > > > A question below ;-) > > > > > > On Tue, Dec 21, 2021 at 4:15 AM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote: > > > > > > > > On Mon, Dec 20, 2021 at 06:55:36PM +0900, Akira Yokosawa wrote: > > > > > Hi Paul, > > > > > > > > > > While reading through Section 9.5.4, I noticed a few terms > > > > > I'd like to see in perfbook's Glossary. > > > > > > > > > > - Reference Counter/Counting > > > > > - Existence Guarantee > > > > > - Type-safe Memory > > > > > > > > > > "Reference counter" is already mentioned in a couple of existing > > > > > items in the glossary. > > > > > > > > > > "Existing guarantee" might be obvious enough and not worthy > > > > > to be in the glossary. > > > > > > > > > > Thoughts? > > > > > > > > > > There were only a few minor nits in the section. > > > > > Will post a patch taking care of them. > > > > > > > > Thank you for looking it over! Please see below for a proposed patch > > > > to the glossary. Oh, and thank you for the checking utilities, very > > > > nice to get explicit messages rather than subtlely broken formatting!!! > > > > > > > > utilities/punctcheck.sh > > > > ./glossary.tex:547: Type-safe memory\cite{Cheriton96a} is provided by a > > > > utilities/cleverefcheck.sh > > > > > > > > Thanx, Paul > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > commit a8f5948a1b8921941bf4039e278aa7929f64c322 > > > > Author: Paul E. McKenney <paulmck@xxxxxxxxxx> > > > > Date: Mon Dec 20 09:41:55 2021 -0800 > > > > > > > > glossary: Add reference count, existence guarantee, and TSM > > > > > > > > Where "TSM" is type-safe memory. > > > > > > > > Reported-by: Akira Yokosawa <akiyks@xxxxxxxxx> > > > > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx> > > > > > > > > diff --git a/glossary.tex b/glossary.tex > > > > index be10f703..31c09232 100644 > > > > --- a/glossary.tex > > > > +++ b/glossary.tex > > > > @@ -199,6 +199,14 @@ > > > > increase the overall cost of the computation, resulting in > > > > linear speedups as threads are added (assuming sufficient > > > > CPUs are available). > > > > +\item[\IX{Existence Guarantee}:] > > > > + An existence guarantee is provided by a synchronization mechanism > > > > + that prevents a given dynamically allocated object from being > > > > + freed for the duration of that guarantee. > > > > + For example, RCU provides existence guarantees for the duration > > > > + of RCU read-side critical sections. > > > > + A similar but strictly weaker guarantee is provided by > > > > + type-safe memory. > > > here type-safe memory is called 'weaker' > > > > Type-safe memory is weaker than existence guarantees ... > > > > > > \item[\IXh{Exclusive}{Lock}:] > > > > An exclusive lock is a mutual-exclusion mechanism that > > > > permits only one thread at a time into the > > > > @@ -469,6 +477,11 @@ > > > > A situation in which getting the correct result is not sufficient, > > > > but where this result must also be obtained within a given amount > > > > of time. > > > > +\item[\IX{Reference Count}:] > > > > + A counter that tracks the number of users of a given object or > > > > + entity. > > > > + Reference counters provide existence guarantees and are sometimes > > > > + used to implement garbage collectors. > > > > \item[\IX{Scalability}:] > > > > A measure of how effectively a given system is able to utilize > > > > additional resources. > > > > @@ -531,6 +544,17 @@ > > > > A synchronization mechanism that gathers groups of memory > > > > accesses so as to execute them atomically from the viewpoint > > > > of transactions on other CPUs or threads. > > > > +\item[\IX{Type-Safe Memory}:] > > > > + Type-safe memory~\cite{Cheriton96a} is provided by a > > > > + synchronization mechanism that prevents a given dynamically > > > > + allocated object from changing to an incompatible type. > > > > + Note that the object might well be freed and then reallocated, but > > > > + the reallocated object is guaranteed to be of a compatible type. > > > > + Within the Linux kernel, type-safe memory is provided within > > > > + RCU read-side critical sections for memory allocated from slabs > > > > + marked with the \co{SLAB_TYPESAFE_BY_RCU} flag. > > > > + The strictly stronger existence guarantee also prevents freeing > > > > + of the protected object. > > > > > > but why do we use "stronger" here (should not it be "weaker"?) > > > > ... Or, alternatively but equivalently, existence guarantees are stronger > > than type-safe memory. > > > > Is there a better way to word this? > How about this: > > It is to note that existence guarantees are stronger than type-safe > memory and.a strictly stronger existence guarantee also prevents > freeing of the protected object. I need to think more about this, so let's defer it until after the release, which I am planning for tomorrow (Tuesday) morning, Pacific Time. If I don't get back to this in a week or so, please do remind me. Thanx, Paul > > > > \item[\IX{Unteachable}:] > > > > A topic, concept, method, or mechanism that the teacher does > > > > not understand well is therefore uncomfortable teaching. > > > Many thanks > > > Zhouyi > Thanks > Zhouyi