~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/memory-model/Documentation/README

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/memory-model/Documentation/README (Architecture i386) and /tools/memory-model/Documentation/README (Architecture ppc)


  1 It has been said that successful communication      1 It has been said that successful communication requires first identifying
  2 what your audience knows and then building a b      2 what your audience knows and then building a bridge from their current
  3 knowledge to what they need to know.  Unfortun      3 knowledge to what they need to know.  Unfortunately, the expected
  4 Linux-kernel memory model (LKMM) audience migh      4 Linux-kernel memory model (LKMM) audience might be anywhere from novice
  5 to expert both in kernel hacking and in unders      5 to expert both in kernel hacking and in understanding LKMM.
  6                                                     6 
  7 This document therefore points out a number of      7 This document therefore points out a number of places to start reading,
  8 depending on what you know and what you would       8 depending on what you know and what you would like to learn.  Please note
  9 that the documents later in this list assume t      9 that the documents later in this list assume that the reader understands
 10 the material provided by documents earlier in      10 the material provided by documents earlier in this list.
 11                                                    11 
 12 If LKMM-specific terms lost you, glossary.txt      12 If LKMM-specific terms lost you, glossary.txt might help you.
 13                                                    13 
 14 o       You are new to Linux-kernel concurrenc     14 o       You are new to Linux-kernel concurrency: simple.txt
 15                                                    15 
 16 o       You have some background in Linux-kern     16 o       You have some background in Linux-kernel concurrency, and would
 17         like an overview of the types of low-l     17         like an overview of the types of low-level concurrency primitives
 18         that the Linux kernel provides:  order     18         that the Linux kernel provides:  ordering.txt
 19                                                    19 
 20         Here, "low level" means atomic operati     20         Here, "low level" means atomic operations to single variables.
 21                                                    21 
 22 o       You are familiar with the Linux-kernel     22 o       You are familiar with the Linux-kernel concurrency primitives
 23         that you need, and just want to get st     23         that you need, and just want to get started with LKMM litmus
 24         tests:  litmus-tests.txt                   24         tests:  litmus-tests.txt
 25                                                    25 
 26 o       You would like to access lock-protecte     26 o       You would like to access lock-protected shared variables without
 27         having their corresponding locks held:     27         having their corresponding locks held:  locking.txt
 28                                                    28 
 29 o       You are familiar with Linux-kernel con     29 o       You are familiar with Linux-kernel concurrency, and would
 30         like a detailed intuitive understandin     30         like a detailed intuitive understanding of LKMM, including
 31         situations involving more than two thr     31         situations involving more than two threads:  recipes.txt
 32                                                    32 
 33 o       You would like a detailed understandin     33 o       You would like a detailed understanding of what your compiler can
 34         and cannot do to control dependencies:     34         and cannot do to control dependencies:  control-dependencies.txt
 35                                                    35 
 36 o       You would like to mark concurrent norm     36 o       You would like to mark concurrent normal accesses to shared
 37         variables so that intentional "racy" a     37         variables so that intentional "racy" accesses can be properly
 38         documented, especially when you are re     38         documented, especially when you are responding to complaints
 39         from KCSAN:  access-marking.txt            39         from KCSAN:  access-marking.txt
 40                                                    40 
 41 o       You are familiar with Linux-kernel con     41 o       You are familiar with Linux-kernel concurrency and the use of
 42         LKMM, and would like a quick reference     42         LKMM, and would like a quick reference:  cheatsheet.txt
 43                                                    43 
 44 o       You are familiar with Linux-kernel con     44 o       You are familiar with Linux-kernel concurrency and the use
 45         of LKMM, and would like to learn about     45         of LKMM, and would like to learn about LKMM's requirements,
 46         rationale, and implementation:  explan     46         rationale, and implementation:  explanation.txt and
 47         herd-representation.txt                    47         herd-representation.txt
 48                                                    48 
 49 o       You are interested in the publications     49 o       You are interested in the publications related to LKMM, including
 50         hardware manuals, academic literature,     50         hardware manuals, academic literature, standards-committee
 51         working papers, and LWN articles:  ref     51         working papers, and LWN articles:  references.txt
 52                                                    52 
 53                                                    53 
 54 ====================                               54 ====================
 55 DESCRIPTION OF FILES                               55 DESCRIPTION OF FILES
 56 ====================                               56 ====================
 57                                                    57 
 58 README                                             58 README
 59         This file.                                 59         This file.
 60                                                    60 
 61 access-marking.txt                                 61 access-marking.txt
 62         Guidelines for marking intentionally c     62         Guidelines for marking intentionally concurrent accesses to
 63         shared memory.                             63         shared memory.
 64                                                    64 
 65 cheatsheet.txt                                     65 cheatsheet.txt
 66         Quick-reference guide to the Linux-ker     66         Quick-reference guide to the Linux-kernel memory model.
 67                                                    67 
 68 control-dependencies.txt                           68 control-dependencies.txt
 69         Guide to preventing compiler optimizat     69         Guide to preventing compiler optimizations from destroying
 70         your control dependencies.                 70         your control dependencies.
 71                                                    71 
 72 explanation.txt                                    72 explanation.txt
 73         Detailed description of the memory mod     73         Detailed description of the memory model.
 74                                                    74 
 75 glossary.txt                                       75 glossary.txt
 76         Brief definitions of LKMM-related term     76         Brief definitions of LKMM-related terms.
 77                                                    77 
 78 herd-representation.txt                            78 herd-representation.txt
 79         The (abstract) representation of the L     79         The (abstract) representation of the Linux-kernel concurrency
 80         primitives in terms of events.             80         primitives in terms of events.
 81                                                    81 
 82 litmus-tests.txt                                   82 litmus-tests.txt
 83         The format, features, capabilities, an     83         The format, features, capabilities, and limitations of the litmus
 84         tests that LKMM can evaluate.              84         tests that LKMM can evaluate.
 85                                                    85 
 86 locking.txt                                        86 locking.txt
 87         Rules for accessing lock-protected sha     87         Rules for accessing lock-protected shared variables outside of
 88         their corresponding critical sections.     88         their corresponding critical sections.
 89                                                    89 
 90 ordering.txt                                       90 ordering.txt
 91         Overview of the Linux kernel's low-lev     91         Overview of the Linux kernel's low-level memory-ordering
 92         primitives by category.                    92         primitives by category.
 93                                                    93 
 94 recipes.txt                                        94 recipes.txt
 95         Common memory-ordering patterns.           95         Common memory-ordering patterns.
 96                                                    96 
 97 references.txt                                     97 references.txt
 98         Background information.                    98         Background information.
 99                                                    99 
100 simple.txt                                        100 simple.txt
101         Starting point for someone new to Linu    101         Starting point for someone new to Linux-kernel concurrency.
102         And also a reminder of the simpler app    102         And also a reminder of the simpler approaches to concurrency!
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php