docs: Pull LKMM documentation into dev-tools book

Currently, LKMM docs are not included in any of kernel documentation
books.

Commit e40573a43d ("docs: put atomic*.txt and memory-barriers.txt
into the core-api book") covered plain-text docs under Documentation/
by using the "include::" directive along with the ":literal:" option.

As LKMM docs are not under Documentation/, the same approach would not
work due to the directive's restriction.

As a matter of fact, kernel documentation has an extended directive
by the name of "kernel-include::", which loosens such restriction and
accepts any files under the kernel source tree.

Rather than moving LKMM docs around, use the latter and pull them into
the dev-tools book next to KCSAN.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
Cc: Paul E. McKenney <paulmck@kernel.org>
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <7ce84a93-5cbc-420e-894a-06a0372c52ab@gmail.com>
This commit is contained in:
Akira Yokosawa 2025-09-11 17:29:31 +09:00 committed by Jonathan Corbet
parent 9946f34452
commit 1e9ddbb2cd
18 changed files with 192 additions and 0 deletions

View file

@ -29,6 +29,7 @@ Documentation/process/debugging/index.rst
ubsan
kmemleak
kcsan
lkmm/index
kfence
kselftest
kunit/index

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
Access Marking
--------------
Literal include of ``tools/memory-model/Documentation/access-marking.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/access-marking.txt
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
Cheatsheet
----------
Literal include of ``tools/memory-model/Documentation/cheatsheet.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/cheatsheet.txt
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
Control Dependencies
--------------------
Literal include of ``tools/memory-model/Documentation/control-dependencies.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/control-dependencies.txt
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
Explanation
-----------
Literal include of ``tools/memory-model/Documentation/explanation.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/explanation.txt
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
Glossary
--------
Literal include of ``tools/memory-model/Documentation/glossary.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/glossary.txt
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
herd-representation
-------------------
Literal include of ``tools/memory-model/Documentation/herd-representation``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/herd-representation.txt
:literal:

View file

@ -0,0 +1,21 @@
.. SPDX-License-Identifier: GPL-2.0
Documentation
=============
.. toctree::
:maxdepth: 1
readme
simple
ordering
litmus-tests
locking
recipes
control-dependencies
access-marking
cheatsheet
explanation
herd-representation
glossary
references

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
Litmus Tests
------------
Literal include of ``tools/memory-model/Documentation/litmus-tests.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/litmus-tests.txt
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
Locking
-------
Literal include of ``tools/memory-model/Documentation/locking.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/locking.txt
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
Ordering
--------
Literal include of ``tools/memory-model/Documentation/ordering.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/ordering.txt
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
README (for LKMM Documentation)
-------------------------------
Literal include of ``tools/memory-model/Documentation/README``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/README
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
Recipes
-------
Literal include of ``tools/memory-model/Documentation/recipes.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/recipes.txt
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
References
----------
Literal include of ``tools/memory-model/Documentation/references.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/references.txt
:literal:

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
Simple
------
Literal include of ``tools/memory-model/Documentation/simple.txt``.
------------------------------------------------------------------
.. kernel-include:: tools/memory-model/Documentation/simple.txt
:literal:

View file

@ -0,0 +1,15 @@
.. SPDX-License-Identifier: GPL-2.0
============================================
Linux Kernel Memory Consistency Model (LKMM)
============================================
This section literally renders documents under ``tools/memory-model/``
and ``tools/memory-model/Documentation/``, which are maintained in
the *pure* plain text form.
.. toctree::
:maxdepth: 2
readme
docs/index

View file

@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
README (for LKMM)
=================
Literal include of ``tools/memory-model/README``.
------------------------------------------------------------
.. kernel-include:: tools/memory-model/README
:literal:

View file

@ -14151,6 +14151,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev
F: Documentation/atomic_bitops.txt
F: Documentation/atomic_t.txt
F: Documentation/core-api/refcount-vs-atomic.rst
F: Documentation/dev-tools/lkmm/
F: Documentation/litmus-tests/
F: Documentation/memory-barriers.txt
F: tools/memory-model/