Back to home page

OSCL-LXR

 
 

    


LINUX KERNEL MEMORY CONSISTENCY MODEL
INTRODUCTION
This directory contains the memory consistency model (memory model, for short) of the Linux kernel, written in the "cat" language and executable by the externally provided "herd7" simulator, which exhaustively explores the state space of small litmus tests.


SEE ALSO: README

  Name Size Date (UTC) Last indexed Description
  Name Size Date (UTC) Last indexed Description
folder Parent directory - 2025-03-06 09:18:41  
folder Documentation/ - 2025-03-06 09:18:40

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.


SEE ALSO: README

folder litmus-tests/ - 2025-03-06 09:18:40

LITMUS TESTS
CoRR+poonceonce+Once.litmus Test of read-read coherence, that is, whether or not two successive reads from the same variable are ordered.
CoRW+poonceonce+Once.litmus Test of read-write coherence, that is, whether or not a read from a given variable followed by a write to that same variable are ordered.


SEE ALSO: README

folder scripts/ - 2025-03-06 09:18:40

LKMM SCRIPTS
These scripts are run from the tools/memory-model directory.
checkalllitmus.sh
Run all litmus tests in the litmus-tests directory, checking the results against the expected results recorded in the "Result:" comment lines.


SEE ALSO: README

linux-kernel.bell 3159 bytes 2025-03-06 09:18:40 -  
linux-kernel.cat 7228 bytes 2025-03-06 09:18:40 -  
linux-kernel.cfg 391 bytes 2025-03-06 09:18:40 -  
linux-kernel.def 4705 bytes 2025-03-06 09:18:40 -  
lock.cat 4634 bytes 2025-03-06 09:18:40 -  
README 7411 bytes 2025-03-06 09:18:40 -