Hi Zhouyi, On Tue, 21 Dec 2021 06:42:04 +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' Yes. > >> \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"?) Here, "strictly stronger" modifies "existence guarantee". So there is no inconsistency, I suppose. Thanks, Akira > >> \item[\IX{Unteachable}:] >> A topic, concept, method, or mechanism that the teacher does >> not understand well is therefore uncomfortable teaching. > Many thanks > Zhouyi >