tools/memory-model: Move Documentation description to Documentation/README
authorPaul E. McKenney <paulmck@kernel.org>
Tue, 4 Aug 2020 21:00:17 +0000 (14:00 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 26 Oct 2020 23:18:53 +0000 (16:18 -0700)
This commit moves the descriptions of the files residing in
tools/memory-model/Documentation to a README file in that directory,
leaving behind the description of tools/memory-model/Documentation/README
itself.  After this change, tools/memory-model/Documentation/README
provides a guide to the files in the tools/memory-model/Documentation
directory, guiding people with different skills and needs to the most
appropriate starting point.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
tools/memory-model/Documentation/README [new file with mode: 0644]
tools/memory-model/README

diff --git a/tools/memory-model/Documentation/README b/tools/memory-model/Documentation/README
new file mode 100644 (file)
index 0000000..2d9539f
--- /dev/null
@@ -0,0 +1,59 @@
+It has been said that successful communication requires first identifying
+what your audience knows and then building a bridge from their current
+knowledge to what they need to know.  Unfortunately, the expected
+Linux-kernel memory model (LKMM) audience might be anywhere from novice
+to expert both in kernel hacking and in understanding LKMM.
+
+This document therefore points out a number of places to start reading,
+depending on what you know and what you would like to learn.  Please note
+that the documents later in this list assume that the reader understands
+the material provided by documents earlier in this list.
+
+o      You are new to Linux-kernel concurrency: simple.txt
+
+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 are familiar with Linux-kernel concurrency, and would
+       like a detailed intuitive understanding of LKMM, including
+       situations involving more than two threads:  recipes.txt
+
+o      You are familiar with Linux-kernel concurrency and the use of
+       LKMM, and would like a quick reference:  cheatsheet.txt
+
+o      You are familiar with Linux-kernel concurrency and the use
+       of LKMM, and would like to learn about LKMM's requirements,
+       rationale, and implementation:  explanation.txt
+
+o      You are interested in the publications related to LKMM, including
+       hardware manuals, academic literature, standards-committee
+       working papers, and LWN articles:  references.txt
+
+
+====================
+DESCRIPTION OF FILES
+====================
+
+README
+       This file.
+
+cheatsheet.txt
+       Quick-reference guide to the Linux-kernel memory model.
+
+explanation.txt
+       Detailed description of the memory model.
+
+litmus-tests.txt
+       The format, features, capabilities, and limitations of the litmus
+       tests that LKMM can evaluate.
+
+recipes.txt
+       Common memory-ordering patterns.
+
+references.txt
+       Background information.
+
+simple.txt
+       Starting point for someone new to Linux-kernel concurrency.
+       And also a reminder of the simpler approaches to concurrency!
index c8144d4aafa074edec07c8ddf15ca242278e796e..39d08d1f0443f1c624eccaad3c63f0b9fd0d01b8 100644 (file)
@@ -161,26 +161,8 @@ running LKMM litmus tests.
 DESCRIPTION OF FILES
 ====================
 
-Documentation/cheatsheet.txt
-       Quick-reference guide to the Linux-kernel memory model.
-
-Documentation/explanation.txt
-       Describes the memory model in detail.
-
-Documentation/litmus-tests.txt
-       Describes the format, features, capabilities, and limitations
-       of the litmus tests that LKMM can evaluate.
-
-Documentation/recipes.txt
-       Lists common memory-ordering patterns.
-
-Documentation/references.txt
-       Provides background reading.
-
-Documentation/simple.txt
-       Starting point for someone new to Linux-kernel concurrency.
-       And also for those needing a reminder of the simpler approaches
-       to concurrency!
+Documentation/README
+       Guide to the other documents in the Documentation/ directory.
 
 linux-kernel.bell
        Categorizes the relevant instructions, including memory