Re: [PATCH] advsync: Use 'row' instead of 'line' to call out a step in table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jul 02, 2017 at 11:41:48PM +0900, Akira Yokosawa wrote:
> >From 1315115293f36eaebae2bac534bb6d441b7bc92c Mon Sep 17 00:00:00 2001
> From: Akira Yokosawa <akiyks@xxxxxxxxx>
> Date: Sun, 2 Jul 2017 23:20:45 +0900
> Subject: [PATCH] advsync: Use 'row' instead of 'line' to call out a step in table
> 
> Commit 4b1ae9491679 ("advsync: Explain how store buffers can result
> in misordering") used "line" to call out a step in the table "Memory
> Misordering: Store-Buffering Sequence of Events".
> However, "line" implies a line in a code snippet. Using "row" makes
> it clear it is in a table.
> 
> Also fix a typo: "compilers directives" -> "compiler directives"
> 
> Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx>

That makes a lot of sense, thank you!  Queued and pushed.

							Thanx, Paul

> ---
>  advsync/memorybarriers.tex | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/advsync/memorybarriers.tex b/advsync/memorybarriers.tex
> index 9c8d005..5804a30 100644
> --- a/advsync/memorybarriers.tex
> +++ b/advsync/memorybarriers.tex
> @@ -203,16 +203,16 @@ Figure~\ref{fig:advsync:Memory Misordering: Store-Buffering Litmus Test}.
> 
>  Table~\ref{tab:advsync:Memory Misordering: Store-Buffering Sequence of Events}
>  shows how this memory misordering can happen.
> -Line~1 shows the initial state, where CPU~0 has \co{x1} in its cache
> +Row~1 shows the initial state, where CPU~0 has \co{x1} in its cache
>  and CPU~1 has \co{x0} in its cache, both variables having a value of zero.
> -Line~2 shows the state change due to each CPU's store (lines~9 and~18 of
> +Row~2 shows the state change due to each CPU's store (lines~9 and~18 of
>  Figure~\ref{fig:advsync:Memory Misordering: Store-Buffering Litmus Test}).
>  Because neither CPU has the stored-to variable in its cache, both CPUs
>  record their stores in their respective store buffers.
> 
>  \QuickQuiz{}
>  	But wait!!!
> -	On line~2 of
> +	On row~2 of
>  	Table~\ref{tab:advsync:Memory Misordering: Store-Buffering Sequence of Events}
>  	both \co{x0} and \co{x1} each have two values at the same time,
>  	namely zero and two.
> @@ -226,7 +226,7 @@ record their stores in their respective store buffers.
>  	Section~\ref{sec:advsync:Variables Can Have More Than One Value}!
>  } \QuickQuizEnd
> 
> -Line~3 shows the two reads (lines~10 and~19 of
> +Row~3 shows the two reads (lines~10 and~19 of
>  Figure~\ref{fig:advsync:Memory Misordering: Store-Buffering Litmus Test}).
>  Because the variable being read by each CPU is in that CPU's cache,
>  each read immediately returns the cached value, which in both cases
> @@ -242,12 +242,12 @@ to the variable in its store buffer, but without disturbing any
>  other part of the cacheline.
>  Each CPU must also ensure that the cacheline is not present in any other
>  CPU's cache, for which a read-invalidate operation is used.
> -As shown on line 4, after both read-invalidate operations complete,
> +As shown on row~4, after both read-invalidate operations complete,
>  the two CPUs have traded cachelines, so that CPU~0's cache now contains
>  \co{x0} and CPU~1's cache now contains \co{x1}.
>  Once these two variables are in their new homes, each CPU can flush
>  its store buffer into the corresponding cache line, leaving each
> -variable with its final value as shown on line~5.
> +variable with its final value as shown on row~5.
> 
>  \QuickQuiz{}
>  	But don't the values also need to be flushed from the cache
> @@ -266,7 +266,7 @@ counter-intuitive memory misordering.
> 
>  But what do you do if your algorithm really needs its memory
>  references to be ordered?
> -It turns out that there are compilers directives and standard
> +It turns out that there are compiler directives and standard
>  synchronization primitives (such as locking and RCU)
>  that are responsible for maintaining the illusion of ordering through use of
>  \emph{memory barriers} (for example, \co{smp_mb()} in the Linux kernel).
> -- 
> 2.7.4
> 

--
To unsubscribe from this list: send the line "unsubscribe perfbook" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux