I recently wrote lock_pool which is being put into production with the use case of pooling connections under high contention. From my benchmarks it performed exceptionally well under high contention, and with good reason.
Rather than wrapping the pool with a mutex, the pool itself is the synchronization mechanism, distributing contention amongst all objects. It prioritizes fairness for acquisition, and does a good job with this. I've tested this implementation extensively with loom, and on first go all green checks!
I hope some of you can get value from this work.
https://crates.io/crates/lock_pool
https://github.com/IronVelo/lock_pool
https://docs.rs/lock_pool/0.1.0/lock_pool/
Please provide feedback!