]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: dynbuf/mux-h1: do not allocate the buffers in the callback
authorWilly Tarreau <w@1wt.eu>
Mon, 29 Apr 2024 07:20:17 +0000 (09:20 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 10 May 2024 15:18:13 +0000 (17:18 +0200)
commita160b3c50cd2eceb0dbb8e6a1f06d09e9b07b625
tree1b0b8b6c8f786628fc313c66317b7f8bcd8dc610
parentc510e81a3f6205f579e68e9539e701ebbb036246
MEDIUM: dynbuf/mux-h1: do not allocate the buffers in the callback

One of the problematic designs with the buffer_wait mechanism is that
the callbacks pre-allocate the buffers and stay in the run queue for
a while, resulting in all of the few buffers being assigned to waiting
tasks instead of being all available to one task that needs them all at
once.

Here we simply stop doing this, the callback clears the waiting flags
and wakes the task up so that it has a chance of still finding some
buffers.
src/mux_h1.c