Pessimize DistributedMutex::try_lock, update comments and benchmarks
Summary: A few changes: - Pessimize DistributedMutex::try_lock() to do a load on the mutex before attempting a lock bts. This allows us to be effectively parallel in the case where acquiring the mutex is not a hard requirement for the application. Whenever perf-sensitive try_lock()s come up, they tend to fit this model - where acquiring the mutex allows one thread to make progress, but missing the lock doesn't lead to incorrectness. It mostly does not hurt performance, so seems like a good thing to have for all cases. - More unit tests that test progress in the presence of many locks - Also update comments to be slightly more clear, in particular add a small comparison with std::atomic in the first few sentences, and - Rerun benchmarks on both broadwell and skylake Reviewed By: djwatson Differential Revision: D15378164 fbshipit-source-id: 124db4052dadae102a5c04ad9b9f3bcbefe74458
Showing
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment