summaryrefslogtreecommitdiffstats
diff options
authorPaul E. McKenney <paulmck@kernel.org>2025-05-06 13:48:59 -0700
committerPaul E. McKenney <paulmck@kernel.org>2025-05-06 13:51:05 -0700
commit829e5bd756be9cbceeee54f2a1fefb30054a2d58 (patch)
treec1935c08407cde61ca2c7eb75cd99e6050e13034
parentaa0c2c5ae9a917917a17f14a4eb68119fb5a6c65 (diff)
downloadperfbook-master.tar.gz
memorder: Add paragraph noting ordering as a system-wide propertyHEADmaster
Reported-by: Daniel Xu <dxu@dxuuu.xyz> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
-rw-r--r--memorder/memorder.tex14
1 files changed, 13 insertions, 1 deletions
diff --git a/memorder/memorder.tex b/memorder/memorder.tex
index a89d1507..62b6f7a5 100644
--- a/memorder/memorder.tex
+++ b/memorder/memorder.tex
@@ -97,7 +97,19 @@ you most of its benefits.
% @@@ summarizing the intervening discussion with some appeals to transitive
% @@@ intuitions and with more sophisticated rules of thumb.
-But first, it is necessary to understand the temporal and non-temporal
+But first, it is necessary to understand that useful ordering is a
+property not of any single component of the system, but of the system
+as a whole.
+For example, it does not help for the hardware to preserve ordering if
+the compiler does not also do so.
+Nor does it help for both the hardware and compiler to provide ways
+to preserve ordering if developers fail to use them.
+The Linux kernel adds architecture-specific assembly-language primitives
+to the mix, which must also preserve the required orderings.
+In short, all the components of the system must work together to provide
+any needed ordering.
+
+Next, it is necessary to understand the temporal and non-temporal
nature of communication from one thread to another when using memory
as the communications medium, as will be discussed in detail in
\cref{sec:memorder:Multicopy Atomicity}.