server-skynet-source-3rd-je.../test/unit
Jason Evans cbf3a6d703 Move centralized chunk management into arenas.
Migrate all centralized data structures related to huge allocations and
recyclable chunks into arena_t, so that each arena can manage huge
allocations and recyclable virtual memory completely independently of
other arenas.

Add chunk node caching to arenas, in order to avoid contention on the
base allocator.

Use chunks_rtree to look up huge allocations rather than a red-black
tree.  Maintain a per arena unsorted list of huge allocations (which
will be needed to enumerate huge allocations during arena reset).

Remove the --enable-ivsalloc option, make ivsalloc() always available,
and use it for size queries if --enable-debug is enabled.  The only
practical implications to this removal are that 1) ivsalloc() is now
always available during live debugging (and the underlying radix tree is
available during core-based debugging), and 2) size query validation can
no longer be enabled independent of --enable-debug.

Remove the stats.chunks.{current,total,high} mallctls, and replace their
underlying statistics with simpler atomically updated counters used
exclusively for gdump triggering.  These statistics are no longer very
useful because each arena manages chunks independently, and per arena
statistics provide similar information.

Simplify chunk synchronization code, now that base chunk allocation
cannot cause recursive lock acquisition.
2015-02-12 00:15:56 -08:00
..
atomic.c Implement more atomic operations. 2015-02-04 16:50:05 -08:00
bitmap.c Implement compile-time bitmap size computation. 2014-09-28 14:43:11 -07:00
ckh.c Fix tsd cleanup regressions. 2014-10-04 11:22:55 -07:00
hash.c Replace variable arrays in tests with VARIABLE_ARRAY 2014-05-27 15:10:38 -07:00
junk_alloc.c Introduce two new modes of junk filling: "alloc" and "free". 2014-12-14 17:07:26 -08:00
junk_free.c Introduce two new modes of junk filling: "alloc" and "free". 2014-12-14 17:07:26 -08:00
junk.c Introduce two new modes of junk filling: "alloc" and "free". 2014-12-14 17:07:26 -08:00
lg_chunk.c Add configure options. 2014-10-09 22:44:37 -07:00
mallctl.c Test and fix tcache ID recycling. 2015-02-10 09:03:48 -08:00
math.c Define INFINITY when it's not defined 2014-05-28 09:41:28 -07:00
mq.c Don't fetch tsd in a0{d,}alloc(). 2014-10-10 18:19:20 -07:00
mtx.c Add mq (message queue) to test infrastructure. 2013-12-12 14:41:02 -08:00
prof_accum.c Refactor permuted backtrace test allocation. 2014-10-01 22:28:23 -07:00
prof_active.c Avoid atexit(3) when possible, disable prof_final by default. 2014-10-08 18:08:00 -07:00
prof_gdump.c Implement the prof.gdump mallctl. 2015-01-25 21:21:35 -08:00
prof_idump.c Add heap profiling tests. 2014-01-17 15:40:52 -08:00
prof_reset.c Implement/test/fix prof-related mallctl's. 2014-10-03 23:25:30 -07:00
prof_thread_name.c Avoid atexit(3) when possible, disable prof_final by default. 2014-10-08 18:08:00 -07:00
ql.c Add unit tests for qr, ql, and rb. 2014-01-03 16:35:03 -08:00
qr.c Add unit tests for qr, ql, and rb. 2014-01-03 16:35:03 -08:00
quarantine.c Fix message formatting errors uncovered by p_test_fail() refactoring. 2014-03-30 11:21:09 -07:00
rb.c Convert to uniform style: cond == false --> !cond 2014-10-03 10:16:09 -07:00
rtree.c Refactor rtree to be lock-free. 2015-02-04 16:51:53 -08:00
SFMT.c Use KQU() rather than QU() where applicable. 2014-05-28 21:17:42 -07:00
stats.c Move centralized chunk management into arenas. 2015-02-12 00:15:56 -08:00
tsd.c Refactor/fix arenas manipulation. 2014-10-07 23:14:57 -07:00
util.c Use KQU() rather than QU() where applicable. 2014-05-28 21:17:42 -07:00
zero.c Fix message formatting errors uncovered by p_test_fail() refactoring. 2014-03-30 11:21:09 -07:00