Name | Size | Last modified (GMT) | Description | |
Parent directory | 2024-10-29 14:06:25 | |||
README | 2727 bytes | 2024-10-29 14:06:25 | ||
access-marking.txt | 21963 bytes | 2024-10-29 14:06:25 | ||
cheatsheet.txt | 2048 bytes | 2024-10-29 14:06:25 | ||
control-dependencies.txt | 9524 bytes | 2024-10-29 14:06:25 | ||
explanation.txt | 109216 bytes | 2024-10-29 14:06:25 | ||
glossary.txt | 7457 bytes | 2024-10-29 14:06:25 | ||
litmus-tests.txt | 39936 bytes | 2024-10-29 14:06:25 | ||
locking.txt | 8662 bytes | 2024-10-29 14:06:25 | ||
ordering.txt | 22194 bytes | 2024-10-29 14:06:25 | ||
recipes.txt | 18643 bytes | 2024-10-29 14:06:25 | ||
references.txt | 5628 bytes | 2024-10-29 14:06:25 | ||
simple.txt | 12589 bytes | 2024-10-29 14:06:25 |
1 It has been said that successful communication requires first identifying 2 what your audience knows and then building a bridge from their current 3 knowledge to what they need to know. Unfortunately, the expected 4 Linux-kernel memory model (LKMM) audience might be anywhere from novice 5 to expert both in kernel hacking and in understanding LKMM. 6 7 This document therefore points out a number of places to start reading, 8 depending on what you know and what you would like to learn. Please note 9 that the documents later in this list assume that the reader understands 10 the material provided by documents earlier in this list. 11 12 o You are new to Linux-kernel concurrency: simple.txt 13 14 o You have some background in Linux-kernel concurrency, and would 15 like an overview of the types of low-level concurrency primitives 16 that the Linux kernel provides: ordering.txt 17 18 Here, "low level" means atomic operations to single variables. 19 20 o You are familiar with the Linux-kernel concurrency primitives 21 that you need, and just want to get started with LKMM litmus 22 tests: litmus-tests.txt 23 24 o You are familiar with Linux-kernel concurrency, and would 25 like a detailed intuitive understanding of LKMM, including 26 situations involving more than two threads: recipes.txt 27 28 o You would like a detailed understanding of what your compiler can 29 and cannot do to control dependencies: control-dependencies.txt 30 31 o You are familiar with Linux-kernel concurrency and the use of 32 LKMM, and would like a quick reference: cheatsheet.txt 33 34 o You are familiar with Linux-kernel concurrency and the use 35 of LKMM, and would like to learn about LKMM's requirements, 36 rationale, and implementation: explanation.txt 37 38 o You are interested in the publications related to LKMM, including 39 hardware manuals, academic literature, standards-committee 40 working papers, and LWN articles: references.txt 41 42 43 ==================== 44 DESCRIPTION OF FILES 45 ==================== 46 47 README 48 This file. 49 50 access-marking.txt 51 Guidelines for marking intentionally concurrent accesses to 52 shared memory. 53 54 cheatsheet.txt 55 Quick-reference guide to the Linux-kernel memory model. 56 57 control-dependencies.txt 58 Guide to preventing compiler optimizations from destroying 59 your control dependencies. 60 61 explanation.txt 62 Detailed description of the memory model. 63 64 litmus-tests.txt 65 The format, features, capabilities, and limitations of the litmus 66 tests that LKMM can evaluate. 67 68 ordering.txt 69 Overview of the Linux kernel's low-level memory-ordering 70 primitives by category. 71 72 recipes.txt 73 Common memory-ordering patterns. 74 75 references.txt 76 Background information. 77 78 simple.txt 79 Starting point for someone new to Linux-kernel concurrency. 80 And also a reminder of the simpler approaches to concurrency!
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.