Signed-off-by: Johann Klähn <johann@xxxxxxxxxx> --- defer/defer.tex | 2 +- defer/rcuintro.tex | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/defer/defer.tex b/defer/defer.tex index 69d9fd5a..be5f997b 100644 --- a/defer/defer.tex +++ b/defer/defer.tex @@ -37,7 +37,7 @@ algorithm that will be used to compare and contrast these approaches. This chapter will use a simplified packet-routing algorithm to demonstrate the value of these approaches and to allow them to be compared. Routing algorithms are used in operating-system kernels to -deliver each outgoing TCP/IP packets to the appropriate network interface. +deliver each outgoing TCP/IP packet to the appropriate network interface. This particular algorithm is a simplified version of the classic 1980s packet-train-optimized algorithm used in BSD UNIX~\cite{VanJacobson88}, consisting of a simple linked list.\footnote{ diff --git a/defer/rcuintro.tex b/defer/rcuintro.tex index bc968ae3..2f4e7ee3 100644 --- a/defer/rcuintro.tex +++ b/defer/rcuintro.tex @@ -126,7 +126,7 @@ the state, as indicated by the ``2~Versions'' in the figure. }\QuickQuizEndB % \QuickQuizE{ - Readers running concurrently each other and with the procedure + Readers running concurrently with each other and with the procedure outlined in \cref{fig:defer:Deletion With Concurrent Readers} can disagree on the value of \co{gptr}. @@ -687,7 +687,7 @@ updaters from making useful concurrent forward progress. seqlock writers, whenever this happens, the \co{read_seqretry()} primitive will force the reader to retry. This means that any work done by a seqlock reader running concurrently - with a seqlock updater will be discarded and the redone upon retry. + with a seqlock updater will be discarded and then redone upon retry. So seqlock readers can \emph{run} concurrently with updaters, but they cannot actually get any work done in this case. -- 2.34.1