Jason Evans b49a334a64 Generalize chunk management hooks.
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.
2015-08-03 21:49:02 -07:00
..
2015-08-03 21:49:02 -07:00
2015-03-23 17:26:53 -07:00
2015-08-03 21:49:02 -07:00
2015-08-03 21:49:02 -07:00
2014-12-08 16:34:04 -08:00
2012-02-28 16:50:47 -08:00
2015-06-25 22:53:58 +02:00
2015-08-03 21:49:02 -07:00
2015-03-16 15:11:06 -07:00
2014-12-08 16:34:04 -08:00
2014-12-08 16:34:04 -08:00
2014-11-07 14:50:38 -08:00
2014-12-08 16:34:04 -08:00
2015-06-15 12:01:05 -07:00
2014-09-10 21:49:42 -04:00