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