All of lore.kernel.org
 help / color / mirror / Atom feed
* A few terms I'd like to see in perfbook's Glossary
@ 2021-12-20  9:55 Akira Yokosawa
  2021-12-20 17:43 ` Paul E. McKenney
  0 siblings, 1 reply; 9+ messages in thread
From: Akira Yokosawa @ 2021-12-20  9:55 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

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.

        Thanks, Akira

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A few terms I'd like to see in perfbook's Glossary
  2021-12-20  9:55 A few terms I'd like to see in perfbook's Glossary Akira Yokosawa
@ 2021-12-20 17:43 ` Paul E. McKenney
  2021-12-20 22:42   ` Zhouyi Zhou
  2021-12-20 23:46   ` Akira Yokosawa
  0 siblings, 2 replies; 9+ messages in thread
From: Paul E. McKenney @ 2021-12-20 17:43 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: perfbook

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@kernel.org>
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@gmail.com>
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>

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.
 \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.
 \item[\IX{Unteachable}:]
 	A topic, concept, method, or mechanism that the teacher does
 	not understand well is therefore uncomfortable teaching.

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: A few terms I'd like to see in perfbook's Glossary
  2021-12-20 17:43 ` Paul E. McKenney
@ 2021-12-20 22:42   ` Zhouyi Zhou
  2021-12-20 23:34     ` Akira Yokosawa
  2021-12-20 23:39     ` Paul E. McKenney
  2021-12-20 23:46   ` Akira Yokosawa
  1 sibling, 2 replies; 9+ messages in thread
From: Zhouyi Zhou @ 2021-12-20 22:42 UTC (permalink / raw)
  To: paulmck; +Cc: Akira Yokosawa, perfbook

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@kernel.org> 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@kernel.org>
> 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@gmail.com>
>     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
>
> 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'

>  \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"?)

>  \item[\IX{Unteachable}:]
>         A topic, concept, method, or mechanism that the teacher does
>         not understand well is therefore uncomfortable teaching.
Many thanks
Zhouyi

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A few terms I'd like to see in perfbook's Glossary
  2021-12-20 22:42   ` Zhouyi Zhou
@ 2021-12-20 23:34     ` Akira Yokosawa
  2021-12-20 23:39     ` Paul E. McKenney
  1 sibling, 0 replies; 9+ messages in thread
From: Akira Yokosawa @ 2021-12-20 23:34 UTC (permalink / raw)
  To: Zhouyi Zhou; +Cc: perfbook, Paul E. McKenney

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@kernel.org> 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@kernel.org>
>> 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@gmail.com>
>>     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
>>
>> 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
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A few terms I'd like to see in perfbook's Glossary
  2021-12-20 22:42   ` Zhouyi Zhou
  2021-12-20 23:34     ` Akira Yokosawa
@ 2021-12-20 23:39     ` Paul E. McKenney
  2021-12-21  0:41       ` Zhouyi Zhou
  1 sibling, 1 reply; 9+ messages in thread
From: Paul E. McKenney @ 2021-12-20 23:39 UTC (permalink / raw)
  To: Zhouyi Zhou; +Cc: Akira Yokosawa, perfbook

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@kernel.org> 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@kernel.org>
> > 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@gmail.com>
> >     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> >
> > 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?

							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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A few terms I'd like to see in perfbook's Glossary
  2021-12-20 17:43 ` Paul E. McKenney
  2021-12-20 22:42   ` Zhouyi Zhou
@ 2021-12-20 23:46   ` Akira Yokosawa
  2021-12-21  0:00     ` Paul E. McKenney
  1 sibling, 1 reply; 9+ messages in thread
From: Akira Yokosawa @ 2021-12-20 23:46 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa

On Mon, 20 Dec 2021 09:43:04 -0800, Paul E. McKenney 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@kernel.org>
> 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@gmail.com>
>     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> 
> 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.
>  \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.
>  \item[\IX{Unteachable}:]
>  	A topic, concept, method, or mechanism that the teacher does
>  	not understand well is therefore uncomfortable teaching.
> 

Looks good to me!

        Thanks, Akira

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A few terms I'd like to see in perfbook's Glossary
  2021-12-20 23:46   ` Akira Yokosawa
@ 2021-12-21  0:00     ` Paul E. McKenney
  0 siblings, 0 replies; 9+ messages in thread
From: Paul E. McKenney @ 2021-12-21  0:00 UTC (permalink / raw)
  To: Akira Yokosawa; +Cc: perfbook

On Tue, Dec 21, 2021 at 08:46:03AM +0900, Akira Yokosawa wrote:
> On Mon, 20 Dec 2021 09:43:04 -0800, Paul E. McKenney 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@kernel.org>
> > 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@gmail.com>
> >     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> > 
> > 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.
> >  \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.
> >  \item[\IX{Unteachable}:]
> >  	A topic, concept, method, or mechanism that the teacher does
> >  	not understand well is therefore uncomfortable teaching.
> > 
> 
> Looks good to me!

Very good!  I pushed it out.  We can always wordsmith further later.

							Thanx, Paul

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A few terms I'd like to see in perfbook's Glossary
  2021-12-20 23:39     ` Paul E. McKenney
@ 2021-12-21  0:41       ` Zhouyi Zhou
  2021-12-21  4:14         ` Paul E. McKenney
  0 siblings, 1 reply; 9+ messages in thread
From: Zhouyi Zhou @ 2021-12-21  0:41 UTC (permalink / raw)
  To: paulmck; +Cc: Akira Yokosawa, perfbook

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@kernel.org> 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@kernel.org> 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@kernel.org>
> > > 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@gmail.com>
> > >     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> > >
> > > 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.

>
>                                                         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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A few terms I'd like to see in perfbook's Glossary
  2021-12-21  0:41       ` Zhouyi Zhou
@ 2021-12-21  4:14         ` Paul E. McKenney
  0 siblings, 0 replies; 9+ messages in thread
From: Paul E. McKenney @ 2021-12-21  4:14 UTC (permalink / raw)
  To: Zhouyi Zhou; +Cc: Akira Yokosawa, perfbook

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@kernel.org> 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@kernel.org> 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@kernel.org>
> > > > 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@gmail.com>
> > > >     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> > > >
> > > > 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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-12-21  4:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-20  9:55 A few terms I'd like to see in perfbook's Glossary Akira Yokosawa
2021-12-20 17:43 ` Paul E. McKenney
2021-12-20 22:42   ` Zhouyi Zhou
2021-12-20 23:34     ` Akira Yokosawa
2021-12-20 23:39     ` Paul E. McKenney
2021-12-21  0:41       ` Zhouyi Zhou
2021-12-21  4:14         ` Paul E. McKenney
2021-12-20 23:46   ` Akira Yokosawa
2021-12-21  0:00     ` Paul E. McKenney

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.