aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/jemalloc/ChangeLog
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.ru>2022-05-10 11:24:08 +0300
committerthegeorg <thegeorg@yandex-team.ru>2022-05-10 11:24:08 +0300
commit3eee94a865e8dff399329dee911906cddb7b0d67 (patch)
tree90049cea53c3a2850723b8104f922d1fc70e94b1 /contrib/libs/jemalloc/ChangeLog
parent8d4afd14b8ae14ffb50992a59dc674e30e076a8e (diff)
downloadydb-3eee94a865e8dff399329dee911906cddb7b0d67.tar.gz
Update contrib/libs/jemalloc to 5.3.0
ref:984a35af48908b64eabafda01bb2e47403689121
Diffstat (limited to 'contrib/libs/jemalloc/ChangeLog')
-rw-r--r--contrib/libs/jemalloc/ChangeLog100
1 files changed, 100 insertions, 0 deletions
diff --git a/contrib/libs/jemalloc/ChangeLog b/contrib/libs/jemalloc/ChangeLog
index e55813b7be..32fde56247 100644
--- a/contrib/libs/jemalloc/ChangeLog
+++ b/contrib/libs/jemalloc/ChangeLog
@@ -4,6 +4,106 @@ brevity. Much more detail can be found in the git revision history:
https://github.com/jemalloc/jemalloc
+* 5.3.0 (May 6, 2022)
+
+ This release contains many speed and space optimizations, from micro
+ optimizations on common paths to rework of internal data structures and
+ locking schemes, and many more too detailed to list below. Multiple percent
+ of system level metric improvements were measured in tested production
+ workloads. The release has gone through large-scale production testing.
+
+ New features:
+ - Add the thread.idle mallctl which hints that the calling thread will be
+ idle for a nontrivial period of time. (@davidtgoldblatt)
+ - Allow small size classes to be the maximum size class to cache in the
+ thread-specific cache, through the opt.[lg_]tcache_max option. (@interwq,
+ @jordalgo)
+ - Make the behavior of realloc(ptr, 0) configurable with opt.zero_realloc.
+ (@davidtgoldblatt)
+ - Add 'make uninstall' support. (@sangshuduo, @Lapenkov)
+ - Support C++17 over-aligned allocation. (@marksantaniello)
+ - Add the thread.peak mallctl for approximate per-thread peak memory tracking.
+ (@davidtgoldblatt)
+ - Add interval-based stats output opt.stats_interval. (@interwq)
+ - Add prof.prefix to override filename prefixes for dumps. (@zhxchen17)
+ - Add high resolution timestamp support for profiling. (@tyroguru)
+ - Add the --collapsed flag to jeprof for flamegraph generation.
+ (@igorwwwwwwwwwwwwwwwwwwww)
+ - Add the --debug-syms-by-id option to jeprof for debug symbols discovery.
+ (@DeannaGelbart)
+ - Add the opt.prof_leak_error option to exit with error code when leak is
+ detected using opt.prof_final. (@yunxuo)
+ - Add opt.cache_oblivious as an runtime alternative to config.cache_oblivious.
+ (@interwq)
+ - Add mallctl interfaces:
+ + opt.zero_realloc (@davidtgoldblatt)
+ + opt.cache_oblivious (@interwq)
+ + opt.prof_leak_error (@yunxuo)
+ + opt.stats_interval (@interwq)
+ + opt.stats_interval_opts (@interwq)
+ + opt.tcache_max (@interwq)
+ + opt.trust_madvise (@azat)
+ + prof.prefix (@zhxchen17)
+ + stats.zero_reallocs (@davidtgoldblatt)
+ + thread.idle (@davidtgoldblatt)
+ + thread.peak.{read,reset} (@davidtgoldblatt)
+
+ Bug fixes:
+ - Fix the synchronization around explicit tcache creation which could cause
+ invalid tcache identifiers. This regression was first released in 5.0.0.
+ (@yoshinorim, @davidtgoldblatt)
+ - Fix a profiling biasing issue which could cause incorrect heap usage and
+ object counts. This issue existed in all previous releases with the heap
+ profiling feature. (@davidtgoldblatt)
+ - Fix the order of stats counter updating on large realloc which could cause
+ failed assertions. This regression was first released in 5.0.0. (@azat)
+ - Fix the locking on the arena destroy mallctl, which could cause concurrent
+ arena creations to fail. This functionality was first introduced in 5.0.0.
+ (@interwq)
+
+ Portability improvements:
+ - Remove nothrow from system function declarations on macOS and FreeBSD.
+ (@davidtgoldblatt, @fredemmott, @leres)
+ - Improve overcommit and page alignment settings on NetBSD. (@zoulasc)
+ - Improve CPU affinity support on BSD platforms. (@devnexen)
+ - Improve utrace detection and support. (@devnexen)
+ - Improve QEMU support with MADV_DONTNEED zeroed pages detection. (@azat)
+ - Add memcntl support on Solaris / illumos. (@devnexen)
+ - Improve CPU_SPINWAIT on ARM. (@AWSjswinney)
+ - Improve TSD cleanup on FreeBSD. (@Lapenkov)
+ - Disable percpu_arena if the CPU count cannot be reliably detected. (@azat)
+ - Add malloc_size(3) override support. (@devnexen)
+ - Add mmap VM_MAKE_TAG support. (@devnexen)
+ - Add support for MADV_[NO]CORE. (@devnexen)
+ - Add support for DragonFlyBSD. (@devnexen)
+ - Fix the QUANTUM setting on MIPS64. (@brooksdavis)
+ - Add the QUANTUM setting for ARC. (@vineetgarc)
+ - Add the QUANTUM setting for LoongArch. (@wangjl-uos)
+ - Add QNX support. (@jqian-aurora)
+ - Avoid atexit(3) calls unless the relevant profiling features are enabled.
+ (@BusyJay, @laiwei-rice, @interwq)
+ - Fix unknown option detection when using Clang. (@Lapenkov)
+ - Fix symbol conflict with musl libc. (@georgthegreat)
+ - Add -Wimplicit-fallthrough checks. (@nickdesaulniers)
+ - Add __forceinline support on MSVC. (@santagada)
+ - Improve FreeBSD and Windows CI support. (@Lapenkov)
+ - Add CI support for PPC64LE architecture. (@ezeeyahoo)
+
+ Incompatible changes:
+ - Maximum size class allowed in tcache (opt.[lg_]tcache_max) now has an upper
+ bound of 8MiB. (@interwq)
+
+ Optimizations and refactors (@davidtgoldblatt, @Lapenkov, @interwq):
+ - Optimize the common cases of the thread cache operations.
+ - Optimize internal data structures, including RB tree and pairing heap.
+ - Optimize the internal locking on extent management.
+ - Extract and refactor the internal page allocator and interface modules.
+
+ Documentation:
+ - Fix doc build with --with-install-suffix. (@lawmurray, @interwq)
+ - Add PROFILING_INTERNALS.md. (@davidtgoldblatt)
+ - Ensure the proper order of doc building and installation. (@Mingli-Yu)
+
* 5.2.1 (August 5, 2019)
This release is primarily about Windows. A critical virtual memory leak is