server-skynet-source-3rd-je.../include/jemalloc/internal
Jason Evans d419bb09ef Fix and simplify decay-based purging.
Simplify decay-based purging attempts to only be triggered when the
epoch is advanced, rather than every time purgeable memory increases.
In a correctly functioning system (not previously the case; see below),
this only causes a behavior difference if during subsequent purge
attempts the least recently used (LRU) purgeable memory extent is
initially too large to be purged, but that memory is reused between
attempts and one or more of the next LRU purgeable memory extents are
small enough to be purged.  In practice this is an arbitrary behavior
change that is within the set of acceptable behaviors.

As for the purging fix, assure that arena->decay.ndirty is recorded
*after* the epoch advance and associated purging occurs.  Prior to this
fix, it was possible for purging during epoch advance to cause a
substantially underrepresentative (arena->ndirty - arena->decay.ndirty),
i.e. the number of dirty pages attributed to the current epoch was too
low, and a series of unintended purges could result.  This fix is also
relevant in the context of the simplification described above, but the
bug's impact would be limited to over-purging at epoch advances.
2016-10-11 15:50:05 -07:00
..
arena.h Fix and simplify decay-based purging. 2016-10-11 15:50:05 -07:00
assert.h Tweak code to allow compilation of concatenated src/*.c sources. 2015-11-12 11:06:41 -08:00
atomic.h Define 64-bits atomics unconditionally 2016-10-04 12:18:14 -07:00
base.h Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
bitmap.h Support --with-lg-page values larger than actual page size. 2016-04-11 02:35:00 -07:00
chunk_dss.h Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
chunk_mmap.h Attempt mmap-based in-place huge reallocation. 2016-02-24 17:23:18 -08:00
chunk.h Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
ckh.h Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
ctl.h Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
extent.h Implement the arena.<i>.reset mallctl. 2016-04-22 15:20:06 -07:00
hash.h typecast address to pointer to byte to avoid unaligned memory access error 2016-03-10 22:49:05 -08:00
huge.h Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
jemalloc_internal_decls.h Refine nstime_update(). 2016-10-10 11:40:46 -07:00
jemalloc_internal_defs.h.in Refine nstime_update(). 2016-10-10 11:40:46 -07:00
jemalloc_internal_macros.h Use KQU() rather than QU() where applicable. 2014-05-28 21:17:42 -07:00
jemalloc_internal.h.in Refactor runs_avail. 2016-10-04 19:48:50 -07:00
mb.h Use TSDN_NULL rather than NULL as appropriate. 2016-10-04 15:56:56 -07:00
mutex.h Optimize witness fast path. 2016-05-11 15:38:06 -07:00
nstime.h Do not advance decay epoch when time goes backwards. 2016-10-10 22:31:37 -07:00
pages.h Modify pages_map() to support mapping uncommitted virtual memory. 2016-05-05 18:56:17 -07:00
ph.h Fix a style nit. 2016-04-12 23:18:25 -07:00
private_namespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
private_symbols.txt Do not advance decay epoch when time goes backwards. 2016-10-10 22:31:37 -07:00
private_unnamespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
prng.h Refactor jemalloc_ffs*() into ffs_*(). 2016-02-24 13:03:48 -08:00
prof.h Add a missing prof_alloc_rollback() call. 2016-06-08 10:12:38 -07:00
public_namespace.sh Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
public_unnamespace.sh Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
ql.h Style and spelling fixes. 2014-12-08 16:34:04 -08:00
qr.h Style and spelling fixes. 2014-12-08 16:34:04 -08:00
quarantine.h Make quarantine_init() static. 2014-11-07 14:50:38 -08:00
rb.h Remove rbt_nil 2016-02-23 18:09:25 -08:00
rtree.h Simplify RTREE_HEIGHT_MAX definition. 2016-04-11 02:35:00 -07:00
size_classes.sh Implement pz2ind(), pind2sz(), and psz2u(). 2016-10-04 16:29:19 -07:00
smoothstep.h Implement smoothstep table generation. 2016-02-19 20:56:15 -08:00
smoothstep.sh Implement smoothstep table generation. 2016-02-19 20:56:15 -08:00
stats.h Add the stats.retained and stats.arenas.<i>.retained statistics. 2016-05-03 22:11:35 -07:00
tcache.h Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
ticker.h Implement ticker. 2016-02-19 20:29:06 -08:00
tsd.h Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
util.h Check for __builtin_unreachable at configure time 2016-09-26 10:44:37 -07:00
valgrind.h Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
witness.h Optimize witness fast path. 2016-05-11 15:38:06 -07:00