Unreliable Guide To Locking

Paul Rusty Russell

      rusty@rustcorp.com.au
     


Table of Contents
1. Introduction
The Problem With Concurrency
2. Two Main Types of Kernel Locks: Spinlocks and Semaphores
Locks and Uniprocessor Kernels
Read/Write Lock Variants
Locking Only In User Context
Locking Between User Context and BHs
Locking Between User Context and Tasklets/Soft IRQs
Locking Between Bottom Halves
The Same BH
Different BHs
Locking Between Tasklets
The Same Tasklet
Different Tasklets
Locking Between Softirqs
The Same Softirq
Different Softirqs
3. Hard IRQ Context
Locking Between Hard IRQ and Softirqs/Tasklets/BHs
List of Tables
1-1. Expected Results
1-2. Possible Results