Re: [PATCH] defer: Fix typos across Chapter 9

"Paul E. McKenney" <[email protected]> Mon, 16 Feb 2026 12:06:17 -0800
Newsgroups org.kernel.vger.perfbook
Message-ID <1afd3a0a-284e-4970-9f43-e93716dde96d@paulmck-laptop>
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
>