[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250418173000.1188561-1-paulmck@kernel.org>
Date: Fri, 18 Apr 2025 10:29:57 -0700
From: "Paul E. McKenney" <paulmck@...nel.org>
To: linux-kernel@...r.kernel.org,
linux-arch@...r.kernel.org,
lkmm@...ts.linux.dev,
kernel-team@...a.com,
mingo@...nel.org
Cc: stern@...land.harvard.edu,
parri.andrea@...il.com,
will@...nel.org,
peterz@...radead.org,
boqun.feng@...il.com,
npiggin@...il.com,
dhowells@...hat.com,
j.alglave@....ac.uk,
luc.maranget@...ia.fr,
akiyks@...il.com,
"Paul E . McKenney" <paulmck@...nel.org>
Subject: [PATCH 1/4] tools/memory-model: docs/README: Update introduction of locking.txt
From: Akira Yokosawa <akiyks@...il.com>
Commit 9bc931e9e161 ("tools/memory-model: Add locking.txt and
glossary.txt to README") failed to mention the relation of the "Locking"
section in recipes.txt and locking.txt.
The latter is a detailed version of the former intended to be read on
its own.
Reword the description in README and add notes in locking.txt and
recipes.txt to clarify their relationship.
[ paulmck: Wordsmithing. ]
Signed-off-by: Akira Yokosawa <akiyks@...il.com>
Signed-off-by: Paul E. McKenney <paulmck@...nel.org>
---
tools/memory-model/Documentation/README | 7 +++++--
tools/memory-model/Documentation/locking.txt | 5 +++++
tools/memory-model/Documentation/recipes.txt | 4 ++++
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/tools/memory-model/Documentation/README b/tools/memory-model/Documentation/README
index 9999c1effdb65..88870b0bceea8 100644
--- a/tools/memory-model/Documentation/README
+++ b/tools/memory-model/Documentation/README
@@ -23,8 +23,11 @@ o You are familiar with the Linux-kernel concurrency primitives
that you need, and just want to get started with LKMM litmus
tests: litmus-tests.txt
-o You would like to access lock-protected shared variables without
- having their corresponding locks held: locking.txt
+o You need to locklessly access shared variables that are otherwise
+ protected by a lock: locking.txt
+
+ This locking.txt file expands on the "Locking" section in
+ recipes.txt, but is self-contained.
o You are familiar with Linux-kernel concurrency, and would
like a detailed intuitive understanding of LKMM, including
diff --git a/tools/memory-model/Documentation/locking.txt b/tools/memory-model/Documentation/locking.txt
index 65c898c64a93a..d6dc3cc34ab65 100644
--- a/tools/memory-model/Documentation/locking.txt
+++ b/tools/memory-model/Documentation/locking.txt
@@ -1,3 +1,8 @@
+[!] Note:
+ This file expands on the "Locking" section of recipes.txt,
+ focusing on locklessly accessing shared variables that are
+ otherwise protected by a lock.
+
Locking
=======
diff --git a/tools/memory-model/Documentation/recipes.txt b/tools/memory-model/Documentation/recipes.txt
index 03f58b11c2525..52115ee5f3939 100644
--- a/tools/memory-model/Documentation/recipes.txt
+++ b/tools/memory-model/Documentation/recipes.txt
@@ -61,6 +61,10 @@ usual) some things to be careful of:
Locking
-------
+[!] Note:
+ locking.txt expands on this section, providing more detail on
+ locklessly accessing lock-protected shared variables.
+
Locking is well-known and straightforward, at least if you don't think
about it too hard. And the basic rule is indeed quite simple: Any CPU that
has acquired a given lock sees any changes previously seen or made by any
--
2.40.1
Powered by blists - more mailing lists