]> 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)
committerAleksei Bavshin <a.bavshin@f5.com>
Fri, 18 Apr 2025 19:57:26 +0000 (12:57 -0700)
commitb9d0ba6677ff7761c85f5556776d6a6c2a7a7051
treed0a07157925c23a999a258d48a0728a16a172799
parent0f9f43b79eed64ab1a876be76ff0f49d499784fc
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