haproxy/include/import
Willy Tarreau 688709d814 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.
2022-07-30 10:15:44 +02:00
..
atomic-ops.h MINOR: plock: use an ARMv8 instruction barrier for the pause instruction 2020-11-29 14:53:33 +01:00
eb32sctree.h REORG: ebtree: split structures into their own file ebtree-t.h 2021-10-07 01:41:14 +02:00
eb32tree.h REORG: ebtree: split structures into their own file ebtree-t.h 2021-10-07 01:41:14 +02:00
eb64tree.h REORG: ebtree: split structures into their own file ebtree-t.h 2021-10-07 01:41:14 +02:00
ebimtree.h BUG/MEDIUM: ebtree: use a byte-per-byte memcmp() to compare memory blocks 2020-06-16 11:30:33 +02:00
ebistree.h REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebmbtree.h REORG: ebtree: split structures into their own file ebtree-t.h 2021-10-07 01:41:14 +02:00
ebpttree.h REORG: ebtree: split structures into their own file ebtree-t.h 2021-10-07 01:41:14 +02:00
ebsttree.h REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebtree-t.h REORG: ebtree: split structures into their own file ebtree-t.h 2021-10-07 01:41:14 +02:00
ebtree.h REORG: ebtree: split structures into their own file ebtree-t.h 2021-10-07 01:41:14 +02:00
ist.h CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
lru.h REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
mjson.h MINOR: sample: converter: Add mjson library. 2021-04-15 17:05:38 +02:00
plock.h MAJOR: threads/plock: update the embedded library 2022-07-30 10:15:44 +02:00
sha1.h IMPORT: sha1: import SHA1 functions 2017-10-25 04:45:48 +02:00
slz-tables.h IMPORT: slz: do not produce the crc32_fast table when CRC is natively supported 2021-05-12 09:29:33 +02:00
slz.h IMPORT: slz: use inttypes.h instead of stdint.h 2021-05-14 08:44:52 +02:00
xxhash.h CLEANUP: Add haproxy/xxhash.h to avoid modifying import/xxhash.h 2021-09-11 19:58:45 +02:00