Changelog for
jemalloc-devel-4.5.0-2.1.x86_64.rpm :
* Fri Mar 10 2017 idonmezAATTsuse.com- Update to version 4.5.0 New features:
* Add --disable-thp and the opt.thp mallctl to provide opt-out mechanisms for transparent huge page integration.
* Restructure
*CFLAGS configuration, so that CFLAGS behaves typically, and EXTRA_CFLAGS provides a way to specify e.g. - Werror during building, but not during configuration. Bug fixes:
* Fix DSS (sbrk(2)-based) allocation. This regression was first released in 4.3.0.
* Handle race in per size class utilization computation. This functionality was first released in 4.0.0.
* Fix lock order reversal during gdump.
* Fix/refactor tcache synchronization. This regression was first released in 4.0.0.
* Fix various JSON-formatted malloc_stats_print() bugs. This functionality was first released in 4.3.0.
* Fix huge-aligned allocation. This regression was first released in 4.4.0.
* When transparent huge page integration is enabled, detect what state pages start in according to the kernel\'s current operating mode, and only convert arena chunks to non-huge during purging if that is not their initial state. This functionality was first released in 4.4.0.
* Fix lg_chunk clamping for the --enable-cache-oblivious - -disable-fill case. This regression was first released in 4.0.0.
* Sun Dec 04 2016 idonmezAATTsuse.com- Update to version 4.4.0 Optimizations:
* Add extent serial numbers and use them where appropriate as a sort key that is higher priority than address, so that the allocation policy prefers older extents. This tends to improve locality (decrease fragmentation) when memory grows downward.
* Refactor madvise(2) configuration so that MADV_FREE is detected and utilized on Linux 4.5 and newer.
* Mark partially purged arena chunks as non-huge-page. This improves interaction with Linux\'s transparent huge page functionality. Bug fixes:
* Fix size class computations for edge conditions involving extremely large allocations. This regression was first released in 4.0.0.
* Remove overly restrictive assertions related to the cactive statistic. This regression was first released in 4.1.0.
* Tue Nov 08 2016 idonmezAATTsuse.com- Update to version 4.3.1
* Fix a severe virtual memory leak. This regression was first released in 4.3.0.
* Sat Nov 05 2016 idonmezAATTsuse.com- Update to version 4.3.0 New features:
* Add \"J\" (JSON) support to malloc_stats_print().
* Add Cray compiler support. Optimizations:
* Add/use adaptive spinning for bootstrapping and radix tree node initialization. Bugfixes:
* Fix large allocation to search starting in the optimal size class heap, which can substantially reduce virtual memory churn and fragmentation. This regression was first released in 4.0.0.
* Fix stats.arenas.
.nthreads accounting.
* Fix and simplify decay-based purging.
* Make DSS (sbrk(2)-related) operations lockless, which resolves potential deadlocks during thread exit.
* Fix over-sized allocation of radix tree leaf nodes.
* Fix over-sized allocation of arena_t (plus associated stats) data structures.
* Fix EXTRA_CFLAGS to not affect configuration.
* Fix a Valgrind integration bug.
* Disallow 0x5a junk filling when running in Valgrind.
* Fix a file descriptor leak on Linux. This regression was first released in 4.2.0.
* Fix static linking of jemalloc with glibc.
* Use syscall(2) rather than {open,read,close}(2) during boot on Linux. This works around other libraries\' system call wrappers performing reentrant allocation.
* Fix OS X default zone replacement to work with OS X 10.12.
* Fix cached memory management to avoid needless commit/decommit operations during purging, which resolves permanent virtual memory map fragmentation issues on Windows.
* Fix TSD fetches to avoid (recursive) allocation. This is relevant to non-TLS and Windows configurations.
* Fix malloc_conf overriding to work on Windows.
* Forcibly disable lazy-lock on Windows (was forcibly
*enabled
*).
* Thu Jun 09 2016 idonmezAATTsuse.com- Update to version 4.2.1
* Fix bootstrapping issues for configurations that require allocation during tsd initialization (e.g. --disable-tls).
* Fix gettimeofday() version of nstime_update().
* Fix Valgrind regressions in calloc() and chunk_alloc_wrapper().
* Fix potential VM map fragmentation regression.
* Fix opt_zero-triggered in-place huge reallocation zeroing.
* Fix heap profiling context leaks in reallocation edge cases.
* Fri May 13 2016 idonmezAATTsuse.com- Update to version 4.2.0
* Add the arena..reset mallctl, which makes it possible to discard all of an arena\'s allocations in a single operation.
* Add the stats.retained and stats.arenas..retained statistics.
* Add the --with-version configure option.
* Support --with-lg-page values larger than actual page size.
* Use pairing heaps rather than red-black trees for various hot data structures.
* Streamline fast paths of rtree operations.
* Optimize the fast paths of calloc() and [m,d,sd]allocx().
* Decommit unused virtual memory if the OS does not overcommit.
* Specify MAP_NORESERVE on Linux if [heuristic] overcommit is active, in order to avoid unfortunate interactions during fork(2).
* Fix chunk accounting related to triggering gdump profiles.
* Link against librt for clock_gettime(2) if glibc < 2.17.
* Scale leak report summary according to sampling probability.
* Wed May 04 2016 idonmezAATTsuse.com- Update to version 4.1.1
* Fix hashing functions to avoid unaligned memory accesses (and resulting crashes). This is relevant at least to some ARM-based platforms.
* Fix fork()-related lock rank ordering reversals. These reversals were unlikely to cause deadlocks in practice except when heap profiling was enabled and active.
* Fix various chunk leaks in OOM code paths.
* Fix malloc_stats_print() to print opt.narenas correctly.
* Fix a variety of test failures that were due to test fragility rather than core bugs.- Remove disable_oom_test.patch, fixed upstream.- Run testsuite in parallel where possible
* Wed Apr 20 2016 jslabyAATTsuse.com- add disable_oom_test.patch
* Mon Feb 29 2016 idonmezAATTsuse.com- Update to version 4.1.0 New features:
* Implement decay-based unused dirty page purging, a major optimization with mallctl API impact. This is an alternative to the existing ratio-based unused dirty page purging, and is intended to eventually become the sole purging mechanism. New mallctls: + opt.purge + opt.decay_time + arena..decay + arena..decay_time + arenas.decay_time + stats.arenas..decay_time
* Add --with-malloc-conf, which makes it possible to embed a default options string during configuration. This was motivated by the desire to specify - -with-malloc-conf=purge:decay , since the default must remain purge:ratio until the 5.0.0 release.
* Make
*allocx() size class overflow behavior defined. The maximum size class is now less thanPTRDIFF_MAX to protect applications against numerical overflow, and all allocation functions are guaranteed to indicate errors rather than potentially crashing if the request size exceeds the maximum size class.
* jeprof: + Add raw heap profile support. + Add --retain and --exclude for backtrace symbol filtering. Optimizations:
* Optimize the fast path to combine various bootstrapping and configuration checks and execute more streamlined code in the common case.
* Use linear scan for small bitmaps (used for small object tracking). In addition to speeding up bitmap operations on 64-bit systems, this reduces allocator metadata overhead by approximately 0.2%.
* Separate arena_avail trees, which substantially speeds up run tree operations.
* Use memoization (boot-time-computed table) for run quantization. Separate arena_avail trees reduced the importance of this optimization.
* Attempt mmap-based in-place huge reallocation. This can dramatically speed up incremental huge reallocation. Incompatible changes:
* Make opt.narenas unsigned rather than size_t. Bug fixes:
* Fix stats.cactive accounting regression.
* Handle unaligned keys in hash(). This caused problems for some ARM systems.
* Refactor arenas array. In addition to fixing a fork-related deadlock, this makes arena lookups faster and simpler.
* Move retained memory allocation out of the default chunk allocation function, to a location that gets executed even if the application installs a custom chunk allocation function. This resolves a virtual memory leak.
* Fix a potential tsd cleanup leak.
* Fix run quantization. In practice this bug had no impact unless applications requested memory with alignment exceeding one page.
* Fix LinuxThreads-specific bootstrapping deadlock. (Cosmin Paraschiv)
* jeprof: + Don\'t discard curl options if timeout is not defined. (AATTdjwatson) + Detect failed profile fetches. (AATTdjwatson)
* Fix stats.arenas..{dss,lg_dirty_mult,decay_time,pactive,pdirty} for --disable-stats case.
* Sun Feb 14 2016 olafAATTaepfle.de- Fix build/test in SLE_11 by using gcc48
* Sat Oct 24 2015 idonmezAATTsuse.com- Update to version 4.0.4
* Fix xallocx(..., MALLOCX_ZERO to zero the last full trailing page of large allocations that have been randomly assigned an offset of 0 when --enable-cache-oblivious configure option is enabled.
* Fri Sep 25 2015 idonmezAATTsuse.com- Update to version 4.0.3
* See included ChangeLog for complete changes.