datastruct: Fix wrong line number
PATCH 1/7 datastruct: Fix wrong line number
--- datastruct/datastruct.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
datastruct/datastruct.tex +1 -1
@@ -1549,7 +1549,7 @@ Line~17 conditionally acquires the top-level \co{->ht_lock}, and if this acquisition fails, line~18 returns \co{-EBUSY} to indicate that a resize is already in progress. Otherwise, line~19 picks up a reference to the current hash table, -and lines~21-24 allocate a new hash table of the desired size. +and lines~20-24 allocate a new hash table of the desired size. If a new set of hash/key functions have been specified, these are used for the new table, otherwise those of the old table are preserved. If line~25 detects memory-allocation failure, line~26 releases \co{->ht_lock}
Signature · 1 line
2.10.0
PATCH 2/7 datastruct: Update an outdated footnote
'Bits and Bytes' subsection says smartphones with gigabytes of memory as an impossible case. However, such smartphones are prevalent now. This commit updates the sentence for trends in these days.
--- datastruct/datastruct.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
datastruct/datastruct.tex +1 -1
@@ -2055,7 +2055,7 @@ Fortunately, the relatively large memories available on modern systems have allowed us to prioritize performance and simplicity over memory overhead. However, even with today's large-memory systems\footnote{ - Smartphones with gigabytes of memory, anyone?} + Smartphones with hundreds of gigabytes of memory, anyone?} it is sometime necessary to take extreme measures to reduce memory overhead.
Signature · 1 line
2.10.0
PATCH 3/7 count: Use '\lnref' consistently
In reply to SeongJae Park--- count/count.tex | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
count/count.tex +3 -2
@@ -2456,8 +2456,9 @@ line~\lnref{signal} sends the thread a signal. \QuickQuizAnswer{ There is no need for an additional check. The caller of \co{flush_local_count()} has already invoked - \co{globalize_count()}, so the check on line~28 will have - succeeded, skipping the later \co{pthread_kill()}. + \co{globalize_count()}, so the check on + line~\ref{ln:count:count_lim_sig:migration:flush:checkmax} + will have succeeded, skipping the later \co{pthread_kill()}. } \QuickQuizEnd \QuickQuiz{}
Signature · 1 line
2.10.0
PATCH 4/7 toolsoftrade: Fix a typo for function name
In reply to SeongJae Park--- toolsoftrade/toolsoftrade.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
toolsoftrade/toolsoftrade.tex +1 -1
@@ -1741,7 +1741,7 @@ void work_until_shut_down(void) However, there are exceptions, for example as shown in Listing~\ref{lst:toolsoftrade:C Compilers Can Fuse Stores}. \begin{lineref}[ln:toolsoftrade:C Compilers Can Fuse Stores] -The function \co{shut_it_down(void)()} stores to the shared +The function \co{shut_it_down()} stores to the shared variable \co{status} on lines~\lnref{store:a} and~\lnref{store:b}, and so assuming that neither \co{start_shutdown()} nor \co{finish_shutdown()} access \co{status},
Signature · 1 line
2.10.0
PATCH 5/7 toolsoftrade: Use '\co' consistently for volatile keyword
In reply to SeongJae ParkIn a paragraph, every volatile keyword is using '\co' but one case. This commit use '\co' for the inconsistent case.
--- toolsoftrade/toolsoftrade.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
toolsoftrade/toolsoftrade.tex +1 -1
@@ -1896,7 +1896,7 @@ Perhaps the most clear guidance is provided by this non-normative note: aggressive optimization involving the object because the value of the object might be changed by means undetectable by an implementation. - Furthermore, for some implementations, volatile might indicate + Furthermore, for some implementations, \co{volatile} might indicate that special hardware instructions are required to access the object. See 6.8.1 for detailed semantics.
Signature · 1 line
2.10.0
PATCH 6/7 formal/axiomatic: Fix a typo: s/Figure/Listing
In reply to SeongJae Park--- formal/axiomatic.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
formal/axiomatic.tex +1 -1
@@ -279,7 +279,7 @@ the \co{herd} output. \begin{lineref}[ln:formal:C-RomanPenyaev-list-rcu-rr:whole] A litmus test for a more complex example proposed by Roman Penyaev~\cite{RomanPenyaev2018rrRCU} is shown in -Figure~\ref{lst:formal:Complex RCU Litmus Test}. +Listing~\ref{lst:formal:Complex RCU Litmus Test}. In this example, readers (modeled by \co{P0()} on lines~\lnref{P0start}--\lnref{P0end}) access a linked list in a round-robin fashion by ``leaking'' a pointer to the last
Signature · 1 line
2.10.0
PATCH 7/7 formal/axiomatic: Add missed parentheses for 'WRITE_ONCE()'
In reply to SeongJae Park--- formal/axiomatic.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
formal/axiomatic.tex +1 -1
@@ -383,7 +383,7 @@ in the \co{herd} output. \QuickQuiz{} \begin{lineref}[ln:formal:C-RomanPenyaev-list-rcu-rr:whole] Also in Listing~\ref{lst:formal:Complex RCU Litmus Test}, - can't line~\lnref{updfree} be \co{WRITE_ONCE} instead + can't line~\lnref{updfree} be \co{WRITE_ONCE()} instead of \co{smp_store_release()}? \end{lineref} \QuickQuizAnswer{
Signature · 1 line
2.10.0
Quoted 1 line · SeongJae Park
Signed-off-by SeongJae Park <[email protected]>
Good eyes! I queued and pushed the series, thank you!!!
Thanx, Paul
Quoted 20 lines
--- datastruct/datastruct.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)datastruct/datastruct.tex +1
-1@@ -1549,7 +1549,7 @@ Line~17 conditionally acquires the top-level \co{->ht_lock}, and if this acquisition fails, line~18 returns \co{-EBUSY} to indicate that a resize is already in progress. Otherwise, line~19 picks up a reference to the current hash table, -and lines~21-24 allocate a new hash table of the desired size. +and lines~20-24 allocate a new hash table of the desired size. If a new set of hash/key functions have been specified, these are used for the new table, otherwise those of the old table are preserved. If line~25 detects memory-allocation failure, line~26 releases \co{->ht_lock}Signature · 1 line
2.10.0