Commit Graph

31 Commits

Author SHA256 Message Date
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=51
2017-03-10 19:54:21 +00:00
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=49
2016-12-04 12:12:30 +00:00
Ismail Dönmez
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

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=47
2016-11-08 07:01:33 +00:00
Ismail Dönmez
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

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=46
2016-11-05 05:51:33 +00:00
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=44
2016-06-09 07:28:45 +00:00
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=42
2016-05-13 07:03:21 +00:00
0346183294 - Restore previous styling
- Mention boosted %check in .changes

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=40
2016-05-04 08:52:43 +00:00
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=39
2016-05-04 07:39:40 +00:00
6a71e8c15a OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=37 2016-04-20 12:24:18 +00:00
eb4b9666c4 feed through sanitizers
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=36
2016-04-20 12:24:08 +00:00
967975affd Accepting request 390795 from home:jirislaby:branches:devel:libraries:c_c++
- add disable_oom_test.patch

OBS-URL: https://build.opensuse.org/request/show/390795
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=35
2016-04-20 12:21:38 +00:00
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=33
2016-02-29 08:35:57 +00:00
314fca573a Accepting request 359384 from home:olh:branches:devel:libraries:c_c++
- Fix build/test in SLE_11 by using gcc48

OBS-URL: https://build.opensuse.org/request/show/359384
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=30
2016-02-14 19:10:38 +00:00
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=28
2015-10-24 18:10:39 +00:00
Ismail Dönmez
09a66ae0a7 - Update to version 4.0.3
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=26
2015-09-25 08:33:56 +00:00
Ismail Dönmez
23b6ef742a - Update to version 4.0.1
* See included ChangeLog for complete changes.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=25
2015-09-16 08:53:50 +00:00
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=23
2014-03-31 17:01:29 +00:00
Ismail Dönmez
8771a24478 - Enable profiling
- Add jemalloc-fix-backtracing.patch to fix profiling tests on x86
  (the failures were triggered due to profiling support.)

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=22
2014-03-31 09:27:21 +00:00
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=20
2014-02-26 17:26:24 +00:00
Ismail Dönmez
7e92aa2677 - Add jemalloc-fix-32bit-tests.patch to fix test failures on i586
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=18
2014-01-30 12:10:40 +00:00
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=17
2014-01-24 12:22:56 +00:00
Ismail Dönmez
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

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=15
2013-10-22 09:31:54 +00:00
Ismail Dönmez
687c79b2af - Rename pprof to pprof-jemalloc to prevent conflict with gperftools
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=13
2013-06-06 10:53:25 +00:00
Ismail Dönmez
27cdf8d474 - Update to version 3.4.0
* Support for aarch64
  * Fix race-triggered deadlocks in chunk_record()

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=12
2013-06-05 14:52:22 +00:00
Ismail Dönmez
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

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=10
2013-03-07 20:58:42 +00:00
Ismail Dönmez
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.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=8
2013-01-24 11:03:44 +00:00
127b8fc586 jemalloc-3.2.0
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=6
2012-11-14 23:33:41 +00:00
607d021372 Accepting request 132457 from home:jengelh:branches:devel:libraries:c_c++
- Update to new upstream release 3.0.0
* Implement Valgrind support, redzones, and quarantine.
* Add support for additional architectures: MIPS, SH4, Tilera
* Add nallocm(), which rounds a request size up to the nearest size
  class without actually allocating.
* Implement aligned_alloc()
* Add the "thread.tcache.enabled" and "opt.prof_final" mallctls.
* Update pprof (from gperftools 2.0).
* (For more, see the ChangeLog file in this RPM package.)

OBS-URL: https://build.opensuse.org/request/show/132457
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=5
2012-09-04 08:28:27 +00:00
adf230eb09 Obsolete specialized SLE spec files (we can do it in a single file without losing readability)
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=4
2012-02-04 14:54:53 +00:00
Antony Dovgal
7fe3470fcd cleanup the spec file and add spec file for SLE_11
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=2
2011-10-23 07:02:58 +00:00
Ismail Dönmez
d41126f19e Accepting request 87662 from home:jengelh:bl-new
jemalloc in better shape

OBS-URL: https://build.opensuse.org/request/show/87662
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jemalloc?expand=0&rev=1
2011-10-13 16:05:06 +00:00