c0cb36e0f8trim changelog that's irrelevant to the user because it affects other platforms, build procedure, or deep internalsJan Engelhardt2019-04-04 11:56:46 +0000
3c58a4f9a9- Drop static library package, nothing seems to use it. - Remove openSUSE 11.1 build support.Jan Engelhardt2019-04-04 11:53:02 +0000
3e58fb6fa0Accepting request 691467 from home:marxin:branches:devel:libraries:c_c++
Martin Liška
2019-04-04 10:13:32 +0000
5534b4bbd9Accepting request 645590 from devel:libraries:c_c++
Dominique Leuenberger
2018-11-06 14:22:30 +0000
c0aefeba97Accepting request 645563 from home:michel_mno:branches:devel:libraries:c_c++
Martin Liška
2018-10-30 19:09:37 +0000
ffa65a880aAccepting request 639125 from devel:libraries:c_c++
Dominique Leuenberger
2018-10-04 16:56:47 +0000
9f461e3f70Accepting request 639121 from home:mmanu84:branches:openSUSE:Factory:ARMJan Engelhardt2018-09-29 11:38:06 +0000
a2ea453c2aAccepting request 630930 from devel:libraries:c_c++
Dominique Leuenberger
2018-08-28 07:23:21 +0000
9d0bf52d6aAccepting request 630928 from home:Guillaume_G:branches:devel:libraries:c_c++Jan Engelhardt2018-08-22 14:07:30 +0000
415c3f0c38Accepting request 606134 from devel:libraries:c_c++
Dominique Leuenberger
2018-05-13 13:56:27 +0000
f5dccfaafc- Update to version 5.1.0: * remove patches: 0001-ARM-Don-t-extend-bit-LG_VADDR-to-compute-high-addres.patch and 0001-remove-CPU_SPINWAIT.patch. New features: * Implement transparent huge page support for internal metadata. (@interwq) * Add opt.thp to allow enabling / disabling transparent huge pages for all mappings. (@interwq) * Add maximum background thread count option. (@djwatson) * Allow prof_active to control opt.lg_prof_interval and prof.gdump. (@interwq) * Allow arena index lookup based on allocation addresses via mallctl. (@lionkov) * Allow disabling initial-exec TLS model. (@davidtgoldblatt, @KenMacD) * Add opt.lg_extent_max_active_fit to set the max ratio between the size of the active extent selected (to split off from) and the size of the requested allocation. (@interwq, @davidtgoldblatt) * Add retain_grow_limit to set the max size when growing virtual address space. (@interwq) * Add mallctl interfaces: * arena.<i>.retain_grow_limit (@interwq) * arenas.lookup (@lionkov) * max_background_threads (@djwatson) * opt.lg_extent_max_active_fit (@interwq) * opt.max_background_threads (@djwatson) * opt.metadata_thp (@interwq) * opt.thp (@interwq) * stats.metadata_thp (@interwq) Portability improvements: * Support GNU/kFreeBSD configuration. (@paravoid) * Support m68k, nios2 and SH3 architectures. (@paravoid) * Fall back to FD_CLOEXEC when O_CLOEXEC is unavailable. (@zonyitoo) * Fix symbol listing for cross-compiling. (@tamird) * Fix high bits computation on ARM. (@davidtgoldblatt, @paravoid) * Disable the CPU_SPINWAIT macro for Power. (@davidtgoldblatt, @marxin) * Fix MSVC 2015 & 2017 builds. (@rustyx) * Improve RISC-V support. (@EdSchouten)
Martin Liška
2018-05-10 08:54:23 +0000
f0e46a1414Accepting request 575200 from devel:libraries:c_c++
Dominique Leuenberger
2018-02-13 09:27:44 +0000
ad7eda2cb1Accepting request 574948 from home:Guillaume_G:branches:devel:libraries:c_c++Jan Engelhardt2018-02-10 12:04:24 +0000
b3d7d02442Accepting request 531585 from devel:libraries:c_c++
Dominique Leuenberger
2017-10-10 09:35:26 +0000
676d1e82ed- Add 0001-remove-CPU_SPINWAIT.patch: revert 701daa5298b3befe2aff05ce590533165abb9ba4 in order to fix#761.
Martin Liška
2017-10-05 10:17:17 +0000
b3064a5babAccepting request 531565 from home:marxin:branches:devel:libraries:c_c++
Martin Liška
2017-10-05 09:51:47 +0000
d11c762dbaAccepting request 478563 from devel:libraries:c_c++
Dominique Leuenberger
2017-03-13 14:31:26 +0000
fcea134e77- 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.
Ismail Dönmez
2017-03-10 19:54:21 +0000
511c2f220bAccepting request 443696 from devel:libraries:c_c++
Dominique Leuenberger
2016-12-07 23:27:15 +0000
1e121f641e- 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.
Ismail Dönmez
2016-12-04 12:12:30 +0000
aae812be55Accepting request 440312 from devel:libraries:c_c++
Dominique Leuenberger
2016-11-16 12:45:47 +0000
9f53636d18- 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.<i>.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
Ismail Dönmez
2016-11-08 07:01:33 +0000
72898463c0- 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.<i>.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
Ismail Dönmez
2016-11-05 05:51:33 +0000
3bc0395a55Accepting request 400771 from devel:libraries:c_c++
Dominique Leuenberger
2016-06-12 16:51:52 +0000
4573a330a6- 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.
Ismail Dönmez
2016-06-09 07:28:45 +0000
ddf626bc5cAccepting request 395107 from devel:libraries:c_c++
Dominique Leuenberger
2016-05-19 10:04:02 +0000
31d2625f45- Update to version 4.2.0 * Add the arena.<i>.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.<i>.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.
Ismail Dönmez
2016-05-13 07:03:21 +0000
dc6abc2c08Accepting request 393541 from devel:libraries:c_c++
Dominique Leuenberger
2016-05-08 08:39:18 +0000
6c7c0342ff- 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.
Ismail Dönmez
2016-05-04 07:39:40 +0000
97fa0b3796Accepting request 391105 from devel:libraries:c_c++
Dominique Leuenberger
2016-05-03 07:33:51 +0000
967975affdAccepting request 390795 from home:jirislaby:branches:devel:libraries:c_c++Jan Engelhardt2016-04-20 12:21:38 +0000
5b6faa5625Accepting request 362831 from devel:libraries:c_c++
Dominique Leuenberger
2016-03-02 13:18:51 +0000
f065ff23ad- 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.<i>.decay + arena.<i>.decay_time + arenas.decay_time + stats.arenas.<i>.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.
Ismail Dönmez
2016-02-29 08:35:57 +0000
863a8adaafAccepting request 359388 from devel:libraries:c_c++
Dominique Leuenberger
2016-02-25 20:57:00 +0000
314fca573aAccepting request 359384 from home:olh:branches:devel:libraries:c_c++Jan Engelhardt2016-02-14 19:10:38 +0000
744ec03257Accepting request 340788 from devel:libraries:c_c++
Stephan Kulow
2015-10-25 13:18:19 +0000
c345d555ac- 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.
Ismail Dönmez
2015-10-24 18:10:39 +0000
0c3528371bAccepting request 334344 from devel:libraries:c_c++
Stephan Kulow
2015-09-30 03:52:57 +0000
09a66ae0a7- Update to version 4.0.3
Ismail Dönmez
2015-09-25 08:33:56 +0000
23b6ef742a- Update to version 4.0.1 * See included ChangeLog for complete changes.
Ismail Dönmez
2015-09-16 08:53:50 +0000
c88c1b19faAccepting request 228353 from devel:libraries:c_c++
Stephan Kulow
2014-04-02 15:23:12 +0000
2c6731dedd- Update to 3.6.0 * Fix a regression in arena_chunk_alloc() that caused crashes during small/large allocation if chunk allocation failed. * Fix backtracing for gcc intrinsics-based backtracing by specifying -fno-omit-frame-pointer to gcc. * Use dss allocation precedence for huge allocations as well as small/large allocations. * Testsuite fixes - Drop jemalloc-fix-backtracing.patch, merged upstream.
Ismail Dönmez
2014-03-31 17:01:29 +0000
8771a24478- Enable profiling - Add jemalloc-fix-backtracing.patch to fix profiling tests on x86 (the failures were triggered due to profiling support.)
Ismail Dönmez
2014-03-31 09:27:21 +0000
b39011510dAccepting request 223986 from devel:libraries:c_c++
Stephan Kulow
2014-02-26 23:00:34 +0000
89ea9b96ee- Update to version 3.5.1 * Fix junk filling for mremap(2)-based huge reallocation. * Unit test fixes - Remove jemalloc-fix-32bit-tests.patch, fixed upstream.
Ismail Dönmez
2014-02-26 17:26:24 +0000
c653443c60Accepting request 215630 from devel:libraries:c_c++
Stephan Kulow
2014-01-30 16:41:08 +0000
7e92aa2677- Add jemalloc-fix-32bit-tests.patch to fix test failures on i586
Ismail Dönmez
2014-01-30 12:10:40 +0000
2957130e12- Update to version 3.5.0 * Add the *allocx() API, which is a successor to the experimental *allocm() API. The *allocx() functions are slightly simpler to use because they have fewer parameters, they directly return the results of primary interest, and mallocx()/rallocx() avoid the strict aliasing pitfall that allocm()/rallocx() share with posix_memalign(). Note that *allocm() is slated for removal in the next non-bugfix release. * Add support for LinuxThreads. * Unless heap profiling is enabled, disable floating point code and don't link with libm. This, in combination with e.g. EXTRA_CFLAGS=-mno-sse on x64 systems, makes it possible to completely disable floating point register use. Some versions of glibc neglect to save/restore caller-saved floating point registers during dynamic lazy symbol loading, and the symbol loading code uses whatever malloc the application happens to have linked/loaded with, the result being potential floating point register corruption. * Report ENOMEM rather than EINVAL if an OOM occurs during heap profiling backtrace creation in imemalign(). This bug impacted posix_memalign() and aligned_alloc(). * Fix a file descriptor leak in a prof_dump_maps() error path. * Fix prof_dump() to close the dump file descriptor for all relevant error paths. * Fix rallocm() to use the arena specified by the ALLOCM_ARENA(s) flag for allocation, not just deallocation. * Fix a data race for large allocation stats counters. * Fix a potential infinite loop during thread exit. This bug occurred on Solaris, and could affect other platforms with similar pthreads TSD implementations. * Don't junk-fill reallocations unless usable size changes. This fixes a violation of the *allocx()/*allocm() semantics. * Fix growing large reallocation to junk fill new space.
Ismail Dönmez
2014-01-24 12:22:56 +0000
2002763514Accepting request 204266 from devel:libraries:c_c++
Tomáš Chvátal
2013-10-23 08:08:31 +0000
62642784c1- Update to version 3.4.1 * Fix a race in the "arenas.extend" mallctl that could cause memory corruption of internal data structures and subsequent crashes. * Fix Valgrind integration flaws that caused Valgrind warnings about reads of uninitialized memory in: + arena chunk headers + internal zero-initialized data structures * Preserve errno during the first allocation. A readlink(2) call during initialization fails unless /etc/malloc.conf exists, so errno was typically set during the first allocation prior to this fix. * Fix compilation warnings reported by gcc 4.8.1 - Rename pprof to pprof-jemalloc to prevent conflict with gperftools
Ismail Dönmez
2013-10-22 09:31:54 +0000
ebfbc55cbfAccepting request 177890 from devel:libraries:c_c++
Stephan Kulow
2013-06-06 12:58:24 +0000
687c79b2af- Rename pprof to pprof-jemalloc to prevent conflict with gperftools
Ismail Dönmez
2013-06-06 10:53:25 +0000
27cdf8d474- Update to version 3.4.0 * Support for aarch64 * Fix race-triggered deadlocks in chunk_record()
Ismail Dönmez
2013-06-05 14:52:22 +0000
ced5557d43Accepting request 157950 from devel:libraries:c_c++
Stephan Kulow
2013-03-08 08:13:34 +0000
226197fc72- Update to version 3.3.1 * Fix a locking order bug that could cause deadlock during fork if heap profiling were enabled. * Fix a chunk recycling bug that could cause the allocator to lose track of whether a chunk was zeroed. * Fix TLS-related memory corruption that could occur during thread exit if the thread never allocated memory. Only the quarantine and prof facilities were susceptible. * Internal reallocation of the quarantined object array leaked the old array. * Reallocation failure for internal reallocation of the quarantined object array (very unlikely) resulted in memory corruption. * Fix Valgrind integration to annotate all internally allocated memory in a way that keeps Valgrind happy about internal data structure access. * Fix building for s390 systems. - Implement %check
Ismail Dönmez
2013-03-07 20:58:42 +0000
e9f98c0ba7Accepting request 149780 from devel:libraries:c_c++
Stephan Kulow
2013-01-30 14:11:34 +0000
d7899721c1- Update to version 3.3.0 * Add clipping support to lg_chunk option processing. * Add the --enable-ivsalloc option. * Add the --without-export option. * Add the --disable-zone-allocator option. * Fix "arenas.extend" mallctl to output the number of arenas. * Fix chunk_recycyle() to unconditionally inform Valgrind that returned memory is undefined. * Fix build break on FreeBSD related to alloca.h.
Ismail Dönmez
2013-01-24 11:03:44 +0000
bee663cde3Accepting request 141361 from devel:libraries:c_c++
Ismail Dönmez
2012-12-05 12:54:15 +0000