Frightening Small Children and Disconcerting Grown-ups: Concurrency in the Linux Kernel

Abstract : Concurrency in the Linux kernel can be a contentious topic. The Linux kernel mailing list features numerous discussions related to consistency models, including those of the more than 30 CPU architectures supported by the kernel and that of the kernel itself. How are Linux programs supposed to behave? Do they behave correctly on exotic hardware? A formal model can help address such questions. Better yet, an executable model allows programmers to experiment with the model to develop their intuition. Thus we offer a model written in the cat language, making it not only formal, but also executable by the herd simulator. We tested our model against hardware and refined it in consultation with maintainers. Finally, we formalised the fundamental law of the Read-Copy-Update synchronisation mechanism, and proved that one of its implementations satisfies this law.
Document type :
Conference papers
Complete list of metadatas

Cited literature [90 references]  Display  Hide  Download

https://hal.inria.fr/hal-01873636
Contributor : Luc Maranget <>
Submitted on : Thursday, September 13, 2018 - 2:55:47 PM
Last modification on : Monday, September 17, 2018 - 4:28:47 PM

File

asplos2018.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Jade Alglave, Luc Maranget, Paul Mckenney, Andrea Parri, Alan Stern. Frightening Small Children and Disconcerting Grown-ups: Concurrency in the Linux Kernel. ASPLOS2018 - 23rd ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Mar 2018, Williamsburg, VA, United States. ⟨10.1145/3173162.3177156⟩. ⟨hal-01873636⟩

Share

Metrics

Record views

301

Files downloads

104