]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
OPTIM: buffers: align the buffer pool to 64
authorWilly Tarreau <w@1wt.eu>
Mon, 11 Aug 2025 15:31:08 +0000 (17:31 +0200)
committerWilly Tarreau <w@1wt.eu>
Mon, 11 Aug 2025 17:55:30 +0000 (19:55 +0200)
This struct is used by memcpy() and friends, particularly during the
early recv() and send(). By keeping it 64-byte aligned, we let the
underlying libs/kernel use optimal operations (e.g.  AVX512) for memory
copies while right now it's just random (buffers are found to be equally
aligned to 32 and 64 in practice).

src/dynbuf.c

index 336e40d1dbbe9d0aab4e40976ef9c9627429f120..12dac1a58d021d4e346c13bfbb1623756dc1331e 100644 (file)
@@ -32,7 +32,7 @@ int init_buffer()
        int done;
        int i;
 
-       pool_head_buffer = create_pool("buffer", global.tune.bufsize, MEM_F_SHARED|MEM_F_EXACT);
+       pool_head_buffer = create_aligned_pool("buffer", global.tune.bufsize, 64, MEM_F_SHARED|MEM_F_EXACT);
        if (!pool_head_buffer)
                return 0;