A writer should not be able to write to the same entry as long as there is a reader - that's why allocate() skips locked entries. So I don't think this is what's happening.

I'm not saying we should sacrifice data integrity over performance, I'm just saying that we may be fixing the wrong problem. After all, master works without the `waitUnlocked()` call.