jemalloc/include/jemalloc
Slobodan Predolac db15a39d75 Keep pac last in pa_shard_s to fix SEC-in-PAC layout regression
9c1a484e embedded sec_t in pac_t (+~48B). Since pac sits before the hot
hpa/edata_cache fields in pa_shard_s, the larger pac_t shifts them and
regresses the free/extent paths ~2% on the fill-flush microbenchmark --
even though SEC is disabled by default and no SEC code runs; it is purely
a struct-layout effect.

Move pac to the last field so its growth shifts only the trailing
all_bins[] flex array. Pure reorder, no functional change.

Validated with the fill-flush microbenchmark (500 threads, 256 B,
MALLOC_CONF=tcache:true,prof:true), turbo pinned, interleaved medians:
on AMD EPYC 9D64 (x86-64) bad regresses ~2% and the reorder restores the
baseline; on ARM Neoverse-V2 (aarch64) there is no measurable regression
and the reorder is neutral.
2026-06-27 17:02:43 -07:00
..
internal Keep pac last in pa_shard_s to fix SEC-in-PAC layout regression 2026-06-27 17:02:43 -07:00
jemalloc.sh Move `extern "C" specifications for C++ to where they are needed 2025-03-31 10:41:51 -07:00
jemalloc_defs.h.in Disable config from file or envvar with build flag 2025-02-05 15:01:50 -08:00
jemalloc_macros.h.in Make JEMALLOC_CXX_THROW definition compatible with newer C++ versions 2024-06-13 11:03:05 -07:00
jemalloc_mangle.sh jemalloc_mangle.sh: set sh in strict mode 2017-12-11 23:35:20 -08:00
jemalloc_protos.h.in Move `extern "C" specifications for C++ to where they are needed 2025-03-31 10:41:51 -07:00
jemalloc_rename.sh Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
jemalloc_typedefs.h.in Introduce pinned extents to contain unpurgeable pages 2026-05-05 10:44:28 -07:00