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