1It has been said that successful communication requires first identifying
2what your audience knows and then building a bridge from their current
3knowledge to what they need to know.  Unfortunately, the expected
4Linux-kernel memory model (LKMM) audience might be anywhere from novice
5to expert both in kernel hacking and in understanding LKMM.
6
7This document therefore points out a number of places to start reading,
8depending on what you know and what you would like to learn.  Please note
9that the documents later in this list assume that the reader understands
10the material provided by documents earlier in this list.
11
12o	You are new to Linux-kernel concurrency: simple.txt
13
14o	You are familiar with the Linux-kernel concurrency primitives
15	that you need, and just want to get started with LKMM litmus
16	tests:  litmus-tests.txt
17
18o	You are familiar with Linux-kernel concurrency, and would
19	like a detailed intuitive understanding of LKMM, including
20	situations involving more than two threads:  recipes.txt
21
22o	You are familiar with Linux-kernel concurrency and the use of
23	LKMM, and would like a quick reference:  cheatsheet.txt
24
25o	You are familiar with Linux-kernel concurrency and the use
26	of LKMM, and would like to learn about LKMM's requirements,
27	rationale, and implementation:	explanation.txt
28
29o	You are interested in the publications related to LKMM, including
30	hardware manuals, academic literature, standards-committee
31	working papers, and LWN articles:  references.txt
32
33
34====================
35DESCRIPTION OF FILES
36====================
37
38README
39	This file.
40
41cheatsheet.txt
42	Quick-reference guide to the Linux-kernel memory model.
43
44explanation.txt
45	Detailed description of the memory model.
46
47litmus-tests.txt
48	The format, features, capabilities, and limitations of the litmus
49	tests that LKMM can evaluate.
50
51recipes.txt
52	Common memory-ordering patterns.
53
54references.txt
55	Background information.
56
57simple.txt
58	Starting point for someone new to Linux-kernel concurrency.
59	And also a reminder of the simpler approaches to concurrency!
60