]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: server: allocate a tasklet for asyncronous requeuing
authorWilly Tarreau <w@1wt.eu>
Tue, 11 Feb 2025 16:18:36 +0000 (17:18 +0100)
committerWilly Tarreau <w@1wt.eu>
Tue, 11 Feb 2025 16:24:09 +0000 (17:24 +0100)
commitb6a8318cc2f874961c3d316f9354f673de84a851
tree4d92ab26ca8d68bf34a1778e49b465666b931b29
parent20b8c4ddba21b9f6e4422595914e35fdf8481188
MEDIUM: server: allocate a tasklet for asyncronous requeuing

This creates a tasklet that only expects to be called when the LB
algorithm is under contention when trying to reposition the server
in its tree. Indeed, that's one of the operations that usually
requires to take a write lock on a highly contended area, often
for very little benefits under contention; indeed, under load, if
a server keeps its previous position for a few extra microseconds,
usually there's no harm. Thus this new tasklet can be woken up by
the LB algo to ask the server to later call lbprm.server_requeue().
It does nothing else.
include/haproxy/server-t.h
src/server.c