Linux kernel memory barriers — The Linux Kernel documentation
The Linux Kernel 7.2.0-rc5 Quick search Contents Development process Submitting patches Code of conduct Maintainer handbook All development-process docs Core API Core utilities Data structures and low-level utilities Low level entry and exit Concurrency primitives refcount_t API compared to atomic_t IRQs Semantics and Behavior of Local Atomic Operations The padata parallel execution mechanism RCU Handbook Linux kernel memory barriers Low-level hardware management Memory management Interfaces for kernel debugging Everything else Driver APIs Subsystems Locking Licensing rules Writing documentation Development tools Testing guide Hacking guide Tracing Fault injection Livepatching Rust Administration Build system Reporting issues Userspace tools Userspace API Firmware Firmware and Devicetree CPU architectures Unsorted documentation Translations This Page Show Source Linux kernel memory barriers ============================ LINUX KERNEL M
============================ LINUX KERNEL MEMORY BARRIERS ============================ By: David Howells <dhowells@redhat.com> Paul E. McKenney <paulmck@linux.ibm.com> Will Deacon <will.deacon@arm.com> Peter Zijlstra <peterz@infradead.org> ========== DISCLAIMER ========== This document is not a specification; it is intentionally (for the sake of brevity) and unintentionally (due to being human) incomplete. This document is meant as a guide to using the various memory barriers provided by Linux, but in case of any doubt (and there are many) please ask. Some doubts may be resolved by…
saved by
related reading
- Memory Barriers Are Like Source Control Operationspreshing.com
- research!rsc: Hardware Memory Models (Memory Models, Part 1)research.swtch.com
- Who ordered memory fences on an x86? | Bartosz Milewski's Programming Cafebartoszmilewski.com
- How to Optimize a CUDA Matmul Kernel for cuBLAS-like Performance: a Worklogsiboehm.com
- Optimization barriers | Pintos Documentationcs162.org
- Unreliable Guide To Locking — The Linux Kernel documentationdocs.kernel.org
- C++11 Memory Modelpeople.cs.pitt.edu
- Intro - Putting the "You" in CPUcpu.land
- What Every Programmer Should Know About Memorypeople.freebsd.org
- The "Basics" | Putting the "You" in CPUcpu.land
- Inter-process communication in Linux: Shared storage | Opensource.comopensource.com
- The Go Memory Model - The Go Programming Languagego.dev