MAJOR: threads/plock: update the embedded library
The plock code hasn't been been updated since 2017 and didn't benefit from the exponential back-off improvements that were added in 2018. Simply updating the file shows a massive performance gain on large thread count (>=48) with dequeuing going from 113k RPS to 300k RPS and round robin from 229k RPS to 1020k RPS. It was about time to update. In addition, some recent improvements to the code will be useful with thread groups. An interesting improvement concerns EPYC CPUs. This one alone increased fairness and was sufficient to avoid crashes in process_srv_queue() there, when hammering two servers with maxconn 200 under 1k connections.
This commit is contained in:
parent
ddab05b98a
commit
688709d814