server-skynet-source-3rd-je.../include/jemalloc/internal
Jason Evans 64e458f5cd Implement two-phase decay-based purging.
Split decay-based purging into two phases, the first of which uses lazy
purging to convert dirty pages to "muzzy", and the second of which uses
forced purging, decommit, or unmapping to convert pages to clean or
destroy them altogether.  Not all operating systems support lazy
purging, yet the application may provide extent hooks that implement
lazy purging, so care must be taken to dynamically omit the first phase
when necessary.

The mallctl interfaces change as follows:
- opt.decay_time --> opt.{dirty,muzzy}_decay_time
- arena.<i>.decay_time --> arena.<i>.{dirty,muzzy}_decay_time
- arenas.decay_time --> arenas.{dirty,muzzy}_decay_time
- stats.arenas.<i>.pdirty --> stats.arenas.<i>.p{dirty,muzzy}
- stats.arenas.<i>.{npurge,nmadvise,purged} -->
  stats.arenas.<i>.{dirty,muzzy}_{npurge,nmadvise,purged}

This resolves #521.
2017-03-15 13:13:47 -07:00
..
arena_externs.h Implement two-phase decay-based purging. 2017-03-15 13:13:47 -07:00
arena_inlines_a.h Convert remaining arena_stats_t fields to atomics 2017-03-13 18:22:33 -07:00
arena_inlines_b.h Implement two-phase decay-based purging. 2017-03-15 13:13:47 -07:00
arena_structs_a.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
arena_structs_b.h Implement two-phase decay-based purging. 2017-03-15 13:13:47 -07:00
arena_types.h Implement two-phase decay-based purging. 2017-03-15 13:13:47 -07:00
assert.h Disentangle assert and util 2017-03-06 15:08:43 -08:00
atomic_c11.h Introduce a backport of C11 atomics 2017-03-03 13:40:59 -08:00
atomic_gcc_atomic.h Insert not_reached after an exhaustive switch 2017-03-06 15:08:43 -08:00
atomic_gcc_sync.h Introduce a backport of C11 atomics 2017-03-03 13:40:59 -08:00
atomic_msvc.h Introduce a backport of C11 atomics 2017-03-03 13:40:59 -08:00
atomic.h Fix ATOMIC_{ACQUIRE,RELEASE,ACQ_REL} definitions. 2017-03-09 00:57:37 -08:00
base_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
base_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
base_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
base_types.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
bit_util.h Disentangle assert and util 2017-03-06 15:08:43 -08:00
bitmap_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
bitmap_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
bitmap_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
bitmap_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
ckh_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
ckh_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
ckh_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
ctl_externs.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
ctl_structs.h Implement two-phase decay-based purging. 2017-03-15 13:13:47 -07:00
ctl_types.h Fix --disable-stats support. 2017-01-19 18:31:07 -08:00
extent_dss_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
extent_dss_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
extent_dss_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
extent_externs.h Implement two-phase decay-based purging. 2017-03-15 13:13:47 -07:00
extent_inlines.h Perform delayed coalescing prior to purging. 2017-03-07 10:25:12 -08:00
extent_mmap_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
extent_structs.h Implement two-phase decay-based purging. 2017-03-15 13:13:47 -07:00
extent_types.h Disentangle arena and extent locking. 2017-02-01 16:43:46 -08:00
hash_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
jemalloc_internal_decls.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
jemalloc_internal_defs.h.in Fix pages_purge_forced() to discard pages on non-Linux systems. 2017-03-13 18:19:57 -07:00
jemalloc_internal_macros.h Make type abbreviations consistent: ssize_t is zd everywhere 2017-03-06 18:49:19 -08:00
jemalloc_internal.h.in Implement per-CPU arena. 2017-03-08 23:19:01 -08:00
large_externs.h Disentangle arena and extent locking. 2017-02-01 16:43:46 -08:00
malloc_io.h Disentangle assert and util 2017-03-06 15:08:43 -08:00
mutex_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
mutex_inlines.h Enable mutex witnesses even when !isthreaded. 2017-02-09 17:05:47 -08:00
mutex_structs.h Get rid of witness in malloc_mutex_t when !(configured w/ debug). 2017-02-24 09:41:29 -08:00
mutex_types.h Get rid of witness in malloc_mutex_t when !(configured w/ debug). 2017-02-24 09:41:29 -08:00
nstime_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
nstime_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
nstime_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
pages_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
pages_types.h Fix pages_purge_forced() to discard pages on non-Linux systems. 2017-03-13 18:19:57 -07:00
ph.h Add any() and remove_any() to ph. 2017-03-07 10:25:33 -08:00
private_namespace.sh Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
private_symbols.txt Implement two-phase decay-based purging. 2017-03-15 13:13:47 -07:00
private_unnamespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
prng_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
prng_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
prof_externs.h Convert arena->prof_accumbytes synchronization to atomics. 2017-02-16 09:39:46 -08:00
prof_inlines_a.h Convert arena->prof_accumbytes synchronization to atomics. 2017-02-16 09:39:46 -08:00
prof_inlines_b.h Convert arena->prof_accumbytes synchronization to atomics. 2017-02-16 09:39:46 -08:00
prof_structs.h Convert arena->prof_accumbytes synchronization to atomics. 2017-02-16 09:39:46 -08:00
prof_types.h Convert arena->prof_accumbytes synchronization to atomics. 2017-02-16 09:39:46 -08:00
public_namespace.sh Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
public_unnamespace.sh Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
ql.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
qr.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
rb.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
rtree_externs.h Determine rtree levels at compile time. 2017-02-08 18:50:03 -08:00
rtree_inlines.h Convert rtree code to use C11 atomics 2017-03-13 12:05:27 -07:00
rtree_structs.h Convert rtree code to use C11 atomics 2017-03-13 12:05:27 -07:00
rtree_types.h Determine rtree levels at compile time. 2017-02-08 18:50:03 -08:00
size_classes.sh Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
smoothstep.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
smoothstep.sh Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
spin_inlines.h Enhance spin_adaptive() to yield after several iterations. 2017-02-08 18:50:03 -08:00
spin_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
spin_types.h Replace spin_init() with SPIN_INITIALIZER. 2017-02-08 18:50:03 -08:00
stats_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
stats_structs.h Implement two-phase decay-based purging. 2017-03-15 13:13:47 -07:00
stats_types.h Implement two-phase decay-based purging. 2017-03-15 13:13:47 -07:00
tcache_externs.h Store associated arena in tcache. 2017-03-07 12:58:11 -08:00
tcache_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
tcache_structs.h Store associated arena in tcache. 2017-03-07 12:58:11 -08:00
tcache_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
ticker_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
ticker_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
ticker_types.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
tsd_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
tsd_inlines.h Do not generate unused tsd_*_[gs]et() functions. 2017-02-13 10:47:16 -08:00
tsd_structs.h Do not generate unused tsd_*_[gs]et() functions. 2017-02-13 10:47:16 -08:00
tsd_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
util.h Disentangle assert and util 2017-03-06 15:08:43 -08:00
witness_externs.h Add witness_assert_depth[_to_rank](). 2017-02-01 16:43:46 -08:00
witness_inlines.h Add witness_assert_depth[_to_rank](). 2017-02-01 16:43:46 -08:00
witness_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
witness_types.h Update a comment. 2017-02-26 11:05:27 -08:00