mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-21 21:26:58 +00:00
haproxy public development tree
The code only differed by the nbpend_max counter. Let's have a pointer to it and merge the two variants to always use a generic queue. It was initially considered to put the max inside the queue structure itself, but the stats support clearing values and maxes and this would have been the only counter having to be handled separately there. Given that we don't need this max anywhere outside stats, let's keep it where it is and have a pointer to it instead. The CAS loop to update the max remains. It was naively thought that it would have been faster without atomic ops inside the lock, but this is not the case for the simple reason that it is a max, it converges very quickly and never has to perform the check anymore. Thus this code is better out of the lock. The queue_idx is still updated inside the lock since that's where the idx is updated, though it could be performed using atomic ops given that it's only used to roughly count places for logging. |
||
---|---|---|
.github | ||
addons | ||
admin | ||
dev | ||
doc | ||
examples | ||
include | ||
reg-tests | ||
scripts | ||
src | ||
tests | ||
.cirrus.yml | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
BRANCHES | ||
CHANGELOG | ||
CONTRIBUTING | ||
INSTALL | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
README | ||
ROADMAP | ||
SUBVERS | ||
VERDATE | ||
VERSION |
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - BRANCHES to understand the project's life cycle and what version to use - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)