b49a334a64
Add the "arena.<i>.chunk_hooks" mallctl, which replaces and expands on the "arena.<i>.chunk.{alloc,dalloc,purge}" mallctls. The chunk hooks allow control over chunk allocation/deallocation, decommit/commit, purging, and splitting/merging, such that the application can rely on jemalloc's internal chunk caching and retaining functionality, yet implement a variety of chunk management mechanisms and policies. Merge the chunks_[sz]ad_{mmap,dss} red-black trees into chunks_[sz]ad_retained. This slightly reduces how hard jemalloc tries to honor the dss precedence setting; prior to this change the precedence setting was also consulted when recycling chunks. Fix chunk purging. Don't purge chunks in arena_purge_stashed(); instead deallocate them in arena_unstash_purged(), so that the dirty memory linkage remains valid until after the last time it is used. This resolves #176 and #201. |
||
---|---|---|
.. | ||
aligned_alloc.c | ||
allocated.c | ||
chunk.c | ||
MALLOCX_ARENA.c | ||
mallocx.c | ||
overflow.c | ||
posix_memalign.c | ||
rallocx.c | ||
sdallocx.c | ||
thread_arena.c | ||
thread_tcache_enabled.c | ||
xallocx.c |