]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MAJOR: threads/plock: update the embedded library
authorWilly Tarreau <w@1wt.eu>
Fri, 29 Jul 2022 15:53:31 +0000 (17:53 +0200)
committerWilly Tarreau <w@1wt.eu>
Sat, 30 Jul 2022 08:15:44 +0000 (10:15 +0200)
commit688709d814724037a366bebae0722b4c9b0640df
tree069a8fca9a17e457acdd777c140a679380d19b44
parentddab05b98a55abfd394ba3a734720a63f1e2e8ac
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.
include/import/plock.h