First page Back Continue Last page Overview Graphics
Addressing Contention:
Fine-Grained Locking
Decompose the Giant lock into a series of smaller locks that contend less
- Typically over “code” or “data”
- E.g., scheduler lock permits user context switching without waiting on the file system
- Details vary greatly by OS
Iterative approach
- Typically begin with scheduler lock
- Dependency locking such as memory allocation
- Some high level subsystem locks
- Then data-based locking
- Drive granularity based on observed contention