Jason Evans 807a9a3e17 Fix decommit-related run fragmentation.
When allocating runs with alignment stricter than one page, commit after
trimming the head/tail from the initial over-sized allocation, rather
than before trimming.  This avoids creating clean-but-committed runs;
such runs do not get purged (and decommitted as a side effect), so they
can cause unnecessary long-term run fragmentation.

Do not commit decommitted memory in chunk_recycle() unless asked to by
the caller.  This allows recycled arena chunks to start in the
decommitted state, and therefore increases the likelihood that purging
after run deallocation will allow the arena chunk to become a single
unused run, thus allowing the chunk as a whole to be discarded.

This resolves #766.
2017-04-18 12:08:28 -07:00
2017-02-28 14:25:06 -08:00
2017-02-28 15:06:27 -08:00
2017-02-22 00:24:32 -08:00
2017-02-28 14:25:06 -08:00
2014-09-02 17:49:29 -07:00
2016-02-20 10:55:23 -08:00
2017-02-28 16:21:05 -08:00
2017-02-28 14:25:06 -08:00
2016-02-28 15:20:40 -08:00
2013-12-06 18:50:51 -08:00
2017-02-28 14:25:06 -08:00
2016-11-02 21:42:16 -07:00
2017-02-28 12:54:40 -08:00
2016-11-02 21:42:16 -07:00

jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.  jemalloc first came
into use as the FreeBSD libc allocator in 2005, and since then it has found its
way into numerous applications that rely on its predictable behavior.  In 2010
jemalloc development efforts broadened to include developer support features
such as heap profiling, Valgrind integration, and extensive monitoring/tuning
hooks.  Modern jemalloc releases continue to be integrated back into FreeBSD,
and therefore versatility remains critical.  Ongoing development efforts trend
toward making jemalloc among the best allocators for a broad range of demanding
applications, and eliminating/mitigating weaknesses that have practical
repercussions for real world applications.

The COPYING file contains copyright and licensing information.

The INSTALL file contains information on how to configure, build, and install
jemalloc.

The ChangeLog file contains a brief summary of changes for each release.

URL: http://jemalloc.net/
Description
No description provided
Readme 47 MiB
Languages
C 88.3%
Perl 5%
M4 3.2%
Python 1%
Shell 0.9%
Other 1.6%