On Mon, Feb 16, 2026 at 12:43:09PM +0800, Kunwu Chan wrote:
> Signed-off-by: Kunwu Chan <[email protected]>

Good eyes, applied and pushed, and thank you!!!

                                                        Thanx, Paul

> ---
>  defer/rcu.tex            |  2 +-
>  defer/rcuapi.tex         |  4 ++--
>  defer/rcufundamental.tex |  2 +-
>  defer/rcuintro.tex       |  2 +-
>  defer/rcurelated.tex     |  2 +-
>  defer/rcuusage.tex       | 10 +++++-----
>  defer/updates.tex        |  2 +-
>  defer/whichtochoose.tex  |  2 +-
>  8 files changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/defer/rcu.tex b/defer/rcu.tex
> index c54da410..13078687 100644
> --- a/defer/rcu.tex
> +++ b/defer/rcu.tex
> @@ -66,7 +66,7 @@ applied to virtually any data structure''.
>  On the other hand, making good use of RCU often requires that you think
>  differently about concurrency in general and about your use case in
>  particular.
> -Much of the remainder of this section therofore provides a guide to
> +Much of the remainder of this section therefore provides a guide to
>  mapping use cases onto RCU.
>  
>  \QuickQuiz{
> diff --git a/defer/rcuapi.tex b/defer/rcuapi.tex
> index 54c94233..9fa11626 100644
> --- a/defer/rcuapi.tex
> +++ b/defer/rcuapi.tex
> @@ -135,7 +135,7 @@ and by
>  which shows the publish-subscribe portions of the
>  API~\cite{PaulEMcKenney2024RCUAPI}.\footnote{
>       This citation covers v6.10 and later.
> -     Documetation for earlier versions of the Linux-kernel RCU API may
> +     Documentation for earlier versions of the Linux-kernel RCU API may
>       be found 
> elsewhere~\cite{PaulEMcKenney2008WhatIsRCUAPI,PaulEMcKenney2014RCUAPI,PaulEMcKenney2019RCUAPI}.}
>  
>  \begin{sidewaystable*}[tbp]
> @@ -597,7 +597,7 @@ However, there are situations where this ease of use gets 
> in the way,
>  for example, when a cache of RCU-protected objects might be subject
>  to reuse during the grace period that otherwise would have allowed them
>  to be freed.
> -Although this can be handed through careful use of flags that interact
> +Although this can be handled through careful use of flags that interact
>  with the RCU callback queued by \co{call_rcu()}, this can be inconvenient
>  and can waste CPU times due to the overhead of the doomed \co{call_rcu()}
>  invocations.
> diff --git a/defer/rcufundamental.tex b/defer/rcufundamental.tex
> index 0efdf406..c3bcc4f0 100644
> --- a/defer/rcufundamental.tex
> +++ b/defer/rcufundamental.tex
> @@ -484,7 +484,7 @@ In contrast, in
>  \cref{fig:defer:Multiple RCU Data-Structure Versions}
>  the reader sees a version that never actually existed!
>  
> -One way to resolve this strange situation is via weaker semanitics.
> +One way to resolve this strange situation is via weaker semantics.
>  A reader traversal must encounter any data item that was present
>  during the full traversal (B, C, and~D), and might or might not
>  encounter data items that were present for only part of the
> diff --git a/defer/rcuintro.tex b/defer/rcuintro.tex
> index d3a55a47..48de32e2 100644
> --- a/defer/rcuintro.tex
> +++ b/defer/rcuintro.tex
> @@ -145,7 +145,7 @@ the state, as indicated by the ``2~Versions'' in the 
> figure.
>       to model.
>  
>       Real-world algorithms therefore absolutely must tolerate
> -     inconsistancies between external reality and the in-computer
> +     inconsistencies between external reality and the in-computer
>       data reflecting that reality.
>       Many of those algorithms are also able to tolerate some degree
>       of inconsistency within the in-computer data.
> diff --git a/defer/rcurelated.tex b/defer/rcurelated.tex
> index 8846825f..cf4b7b49 100644
> --- a/defer/rcurelated.tex
> +++ b/defer/rcurelated.tex
> @@ -391,7 +391,7 @@ sleepable RCU (SRCU)~\cite{PaulEMcKenney2006c}.
>  Finally, \ppl{Michalis}{Kokologiannakis} and \ppl{Konstantinos}{Sagonas}
>  (National Technical University of
>  
> Athens)~\cite{MichalisKokologiannakis2017NidhuggRCU,MichalisKokologiannakis2019RCUstatelessModelCheck}
> -used the Nighugg tool~\cite{CarlLeonardsson2014Nidhugg}
> +used the Nidhugg tool~\cite{CarlLeonardsson2014Nidhugg}
>  to produce a mechanical proof of correctness of a somewhat larger
>  portion of Linux-kernel Tree RCU\@.
>  
> diff --git a/defer/rcuusage.tex b/defer/rcuusage.tex
> index 6225c672..63e12a40 100644
> --- a/defer/rcuusage.tex
> +++ b/defer/rcuusage.tex
> @@ -226,7 +226,7 @@ that of the ideal synchronization-free workload.
>  \end{figure*}
>  
>  Although Pre-BSD routing is an excellent RCU use case, it is worthwhile
> -looking at the relationships betweeen the wider spectrum of use cases
> +looking at the relationships between the wider spectrum of use cases
>  shown in
>  \cref{fig:defer:Relationships Between RCU Use Cases}.
>  This task is taken up by the following sections.
> @@ -520,7 +520,7 @@ run concurrently with \co{do_maint()} to complete, and 
> finally
>       function's load from \co{be_careful} and any memory loads
>       executed by the \co{cco_quickly()} function.
>       Because there is no ordering, without that second call to
> -     \co{syncrhonize_rcu()}, memory ordering could cause loads
> +     \co{synchronize_rcu()}, memory ordering could cause loads
>       in \co{cco_quickly()} to overlap with stores by \co{do_maint()}.
>  
>       Another alternative would be to compensate for the removal of
> @@ -852,7 +852,7 @@ and \clnref{ret_0:b} indicates failure to delete the 
> specified key.
>  \QuickQuizE{
>       The RCU-based algorithm shown in
>       \cref{lst:defer:Existence Guarantees Enable Per-Element Locking}
> -     locks very similar to that in
> +     looks very similar to that in
>       \cref{lst:locking:Per-Element Locking With Lock-Based Existence 
> Guarantees},
>       so why should the RCU-based approach be any better?
>  }\QuickQuizAnswerE{
> @@ -1057,7 +1057,7 @@ which was generated on a 448-CPU 2.10\,GHz Intel x86 
> system.
>  
>       Nor was this a theoretical problem:
>       A failure actually manifested in 2019.
> -     \ppl{Herbert}{Xu} tracked down this failure down and
> +     \ppl{Herbert}{Xu} tracked down this failure and
>       \ppl{Linus}{Torvalds}
>       therefore queued a commit to upgrade \co{rcu_read_lock()} and
>       \co{rcu_read_unlock()} to unconditionally include a call to
> @@ -1356,7 +1356,7 @@ analysis~\cite[Figures 3 and 
> 5]{VishakhaRamani2023LockBasedLocklessFresh}.
>       at the time that it arrives, and extremely stale in the case
>       of astronomical data.
>       The finite speed of light also places a sharp limit on the
> -     consistency of data arriving from different sources of via
> +     consistency of data arriving from different sources or via
>       different paths.
>  
>       You might as well face the fact that the laws of physics
> diff --git a/defer/updates.tex b/defer/updates.tex
> index 92e1fe93..7536e172 100644
> --- a/defer/updates.tex
> +++ b/defer/updates.tex
> @@ -21,7 +21,7 @@ scalability for writers, namely the counting algorithms 
> surveyed in
>  These algorithms featured partially partitioned data structures so
>  that updates can operate locally, while the more-expensive reads
>  must sum across the entire data structure.
> -Silas Boyd-Wickhizer has generalized this notion to produce
> +Silas Boyd-Wickizer has generalized this notion to produce
>  OpLog, which he has applied to
>  Linux-kernel pathname lookup, VM reverse mappings, and the \co{stat()} system
>  call~\cite{SilasBoydWickizerPhD}.
> diff --git a/defer/whichtochoose.tex b/defer/whichtochoose.tex
> index dfa19426..775da269 100644
> --- a/defer/whichtochoose.tex
> +++ b/defer/whichtochoose.tex
> @@ -397,7 +397,7 @@ instructions.
>       This limits lock contention and prevents both preemption and
>       interrupts from delaying execution while those locks are held,
>       in turn providing excellent forward
> -     
> progrees~\cite{BjoernBrandenburgPhD,DanielBristot2019RTtrace,Hillier86,DipankarSarma2004OLSscalability}.
> +     
> progress~\cite{BjoernBrandenburgPhD,DanielBristot2019RTtrace,Hillier86,DipankarSarma2004OLSscalability}.
>  
>       In short, formalisms such as wait-free synchronization have their
>       place, but the really important thing is to figure out what your
> -- 
> 2.25.1
> 

Reply via email to