Skip to content
  • Jason Evans's avatar
    Generalize chunk management hooks. · b49a334a
    Jason Evans authored
    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.
    b49a334a
To find the state of this project's repository at the time of any of these versions, check out the tags.