]> git.kaiwu.me - nginx.git/commit
Core: improved NGX_ALIGNMENT detection on some x86_64 platforms.
authorAleksei Bavshin <a.bavshin@nginx.com>
Tue, 14 Jan 2025 18:32:24 +0000 (10:32 -0800)
committerSergey Kandaurov <s.kandaurov@f5.com>
Tue, 23 Dec 2025 18:40:33 +0000 (22:40 +0400)
commit8d0ebfcd0b31bd2ad33eec2b6c205708397a84b8
treef82f960a359ac4a27176c4f4be92527be78bc2cd
parent79e9053f0b278c871b5fabfab7fc515d7a20d3da
Core: improved NGX_ALIGNMENT detection on some x86_64 platforms.

Previously, the default pool alignment used sizeof(unsigned long), with
the expectation that this would match to a platform word size.  Certain
64-bit platforms prove this assumption wrong by keeping the 32-bit long
type, which is fully compliant with the C standard.

This introduces a possibility of suboptimal misaligned access to the
data allocated with ngx_palloc() on the affected platforms, which is
addressed here by changing the default NGX_ALIGNMENT to a pointer size.

As we override the detection in auto/os/conf for all the machine types
except x86, and Unix-like 64-bit systems prefer the 64-bit long, the
impact of the change should be limited to Win64 x64.
src/core/ngx_config.h