ChangeLog (296221) | ChangeLog (299587) |
---|---|
1Following are change highlights associated with official releases. Important 2bug fixes are all mentioned, but some internal enhancements are omitted here for 3brevity. Much more detail can be found in the git revision history: 4 5 https://github.com/jemalloc/jemalloc 6 | 1Following are change highlights associated with official releases. Important 2bug fixes are all mentioned, but some internal enhancements are omitted here for 3brevity. Much more detail can be found in the git revision history: 4 5 https://github.com/jemalloc/jemalloc 6 |
7* 4.2.0 (May 12, 2016) 8 9 New features: 10 - Add the arena.<i>.reset mallctl, which makes it possible to discard all of 11 an arena's allocations in a single operation. (@jasone) 12 - Add the stats.retained and stats.arenas.<i>.retained statistics. (@jasone) 13 - Add the --with-version configure option. (@jasone) 14 - Support --with-lg-page values larger than actual page size. (@jasone) 15 16 Optimizations: 17 - Use pairing heaps rather than red-black trees for various hot data 18 structures. (@djwatson, @jasone) 19 - Streamline fast paths of rtree operations. (@jasone) 20 - Optimize the fast paths of calloc() and [m,d,sd]allocx(). (@jasone) 21 - Decommit unused virtual memory if the OS does not overcommit. (@jasone) 22 - Specify MAP_NORESERVE on Linux if [heuristic] overcommit is active, in order 23 to avoid unfortunate interactions during fork(2). (@jasone) 24 25 Bug fixes: 26 - Fix chunk accounting related to triggering gdump profiles. (@jasone) 27 - Link against librt for clock_gettime(2) if glibc < 2.17. (@jasone) 28 - Scale leak report summary according to sampling probability. (@jasone) 29 30* 4.1.1 (May 3, 2016) 31 32 This bugfix release resolves a variety of mostly minor issues, though the 33 bitmap fix is critical for 64-bit Windows. 34 35 Bug fixes: 36 - Fix the linear scan version of bitmap_sfu() to shift by the proper amount 37 even when sizeof(long) is not the same as sizeof(void *), as on 64-bit 38 Windows. (@jasone) 39 - Fix hashing functions to avoid unaligned memory accesses (and resulting 40 crashes). This is relevant at least to some ARM-based platforms. 41 (@rkmisra) 42 - Fix fork()-related lock rank ordering reversals. These reversals were 43 unlikely to cause deadlocks in practice except when heap profiling was 44 enabled and active. (@jasone) 45 - Fix various chunk leaks in OOM code paths. (@jasone) 46 - Fix malloc_stats_print() to print opt.narenas correctly. (@jasone) 47 - Fix MSVC-specific build/test issues. (@rustyx, @yuslepukhin) 48 - Fix a variety of test failures that were due to test fragility rather than 49 core bugs. (@jasone) 50 |
|
7* 4.1.0 (February 28, 2016) 8 9 This release is primarily about optimizations, but it also incorporates a lot 10 of portability-motivated refactoring and enhancements. Many people worked on 11 this release, to an extent that even with the omission here of minor changes 12 (see git revision history), and of the people who reported and diagnosed 13 issues, so much of the work was contributed that starting with this release, 14 changes are annotated with author credits to help reflect the collaborative --- 39 unchanged lines hidden (view full) --- 54 up incremental huge reallocation. (@jasone) 55 56 Incompatible changes: 57 - Make opt.narenas unsigned rather than size_t. (@jasone) 58 59 Bug fixes: 60 - Fix stats.cactive accounting regression. (@rustyx, @jasone) 61 - Handle unaligned keys in hash(). This caused problems for some ARM systems. | 51* 4.1.0 (February 28, 2016) 52 53 This release is primarily about optimizations, but it also incorporates a lot 54 of portability-motivated refactoring and enhancements. Many people worked on 55 this release, to an extent that even with the omission here of minor changes 56 (see git revision history), and of the people who reported and diagnosed 57 issues, so much of the work was contributed that starting with this release, 58 changes are annotated with author credits to help reflect the collaborative --- 39 unchanged lines hidden (view full) --- 98 up incremental huge reallocation. (@jasone) 99 100 Incompatible changes: 101 - Make opt.narenas unsigned rather than size_t. (@jasone) 102 103 Bug fixes: 104 - Fix stats.cactive accounting regression. (@rustyx, @jasone) 105 - Handle unaligned keys in hash(). This caused problems for some ARM systems. |
62 (@jasone, Christopher Ferris) | 106 (@jasone, @cferris1000) |
63 - Refactor arenas array. In addition to fixing a fork-related deadlock, this 64 makes arena lookups faster and simpler. (@jasone) 65 - Move retained memory allocation out of the default chunk allocation 66 function, to a location that gets executed even if the application installs 67 a custom chunk allocation function. This resolves a virtual memory leak. 68 (@buchgr) | 107 - Refactor arenas array. In addition to fixing a fork-related deadlock, this 108 makes arena lookups faster and simpler. (@jasone) 109 - Move retained memory allocation out of the default chunk allocation 110 function, to a location that gets executed even if the application installs 111 a custom chunk allocation function. This resolves a virtual memory leak. 112 (@buchgr) |
69 - Fix a potential tsd cleanup leak. (Christopher Ferris, @jasone) | 113 - Fix a potential tsd cleanup leak. (@cferris1000, @jasone) |
70 - Fix run quantization. In practice this bug had no impact unless 71 applications requested memory with alignment exceeding one page. 72 (@jasone, @djwatson) 73 - Fix LinuxThreads-specific bootstrapping deadlock. (Cosmin Paraschiv) 74 - jeprof: 75 + Don't discard curl options if timeout is not defined. (@djwatson) 76 + Detect failed profile fetches. (@djwatson) 77 - Fix stats.arenas.<i>.{dss,lg_dirty_mult,decay_time,pactive,pdirty} for --- 796 unchanged lines hidden --- | 114 - Fix run quantization. In practice this bug had no impact unless 115 applications requested memory with alignment exceeding one page. 116 (@jasone, @djwatson) 117 - Fix LinuxThreads-specific bootstrapping deadlock. (Cosmin Paraschiv) 118 - jeprof: 119 + Don't discard curl options if timeout is not defined. (@djwatson) 120 + Detect failed profile fetches. (@djwatson) 121 - Fix stats.arenas.<i>.{dss,lg_dirty_mult,decay_time,pactive,pdirty} for --- 796 unchanged lines hidden --- |