Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Calling lock.test_and_set() in a tight loop creates expensive memory synchronizations among processors and penalize other running threads. So syncronize only only once at the beginning with fetch_sub() and then loop on a simple load() that puts much less pressure on the system. Reported about 2-3% speed up on various systems. Patch by Ronald de Man. No functional change.
- Loading branch information