Recursive Read Deadlocks and Where to Find Them
summary
Adds recursive read-deadlock detection to lockdep so queued rwlock cases that previously escaped detection now get flagged; a patchset implementing a strong dependency graph that classifies locks as recursive reader, non‑recursive reader or writer is merged into the v6 kernel. The detector builds dependency chains dynamically from lock/queue state, reasons about reader vs writer blocking rules to avoid false positives, and ships with tests validating correctness on real kernel code.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 0:36Topics
- 0:57Detecting Deadlocks
- 3:20Locked Up
- 5:19River Lock
- 10:00Block Condition
- 13:30Read Lock Example
- 15:16Conditions of Read Lock
- 20:17Strong Dependency
- 23:02Lock Condition
- 23:50Dependency Graph
- 25:27Implementation
- 26:19Conclusion
- 27:45Question
- 32:06Classification
related talks
40mKernel Locking Engineering
20mDLOS: Effective Static Detection of Deadlocks in OS Kernels
46mStatus Report: Broken Dependency Orderings in the Linux Kernel
24mPREEMPT_RT Q&A with tglx
13mLockify: Understanding Linux Distributed Lock Management Overheads in Shared Storage
44mShip your Critical Section, Not Your Data: Enabling Transparent Delegation with...
29mReliable Userspace Spinlock
38mNews from PREEMPT_RT
