Jemalloc 5.4.0 released with pinned-memory tracking and tcache overhaul
The jemalloc project shipped version 5.4.0, a maintenance-focused update spanning more than 160 commits aimed at reducing technical debt through refactoring, bug fixes, expanded test coverage, and portability fixes. Key additions include an EXTENT_ALLOC_FLAG_PINNED flag letting custom allocation hooks mark non-reclaimable mappings like HugeTLB pages for preferential reuse, plus new mallctl interfaces to report pinned-memory and mutex statistics. The update also replaces the old fixed tcache refill/flush policy with a dynamic system that adapts to observed demand, removing seven legacy tuning controls in the process.
GoKawiil's interpretation of the reporting above, not reported fact.
Jemalloc underpins memory allocation in many performance-critical systems, so changes to how it handles pinned memory and thread-cache behavior can directly affect latency and memory efficiency in production workloads. The removal of legacy tcache controls signals a shift toward adaptive, self-tuning allocator behavior, which could simplify configuration but may require testing for apps that relied on manual tuning.
- Jemalloc 5.4.0 adds pinned-memory support for non-reclaimable mappings like HugeTLB pages.
- A new adaptive tcache policy replaces the old fixed refill/flush system and removes seven legacy options.
- The release emphasizes technical debt cleanup, portability fixes, and improved statistics reporting.
Source: github.com, 2026-09-18
Published there as: “Jemalloc 5.4.0”
Read the original report → The summary and analysis above are GoKawiil's own, written from reporting by the source above. Facts and quotes belong to the original publisher.