Overview
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the intricacies of I/O ordering in the Linux kernel through this informative conference talk. Delve into the complexities of memory barriers used to enforce ordering of memory accesses between multiple agents, focusing on scenarios involving I/O and DMA-capable devices. Gain insights into the appropriate use of I/O ordering barriers in driver development, optimal timing for their implementation, and strategies for achieving peak performance. Learn from Will Deacon, a Linux kernel expert from Arm Ltd., as he provides a comprehensive overview of mainline Linux I/O ordering barrier support, covering topics such as store buffering, sequential consistency, litmus tests, memory models, and DMA barriers. Discover practical examples and API semantics to enhance your understanding of this critical aspect of kernel development.
Syllabus
Intro
Who am I
Setting the scene
The grim reality
Memory Ordering
Store Buffering
Sequential Consistency
Litmus Tests
Sharing Memory
Access to Endpoints
Ordering
Completion
API Shikhandi
Memory Models
Default IO accesses
Relaxed IO accesses
Mandatory barriers
DMA barriers
Examples
Memory Map Queue
Relaxed Access
Arm 64
DMA Em beasts
SMC Nimal
DMA on Read
API semantics
API offsets
Taught by
Linux Foundation