Changes since last time:
- Rework nowait locking code to reduce locking overhead penalty