server-skynet-source-3rd-je.../test/unit
Dave Watson 25f7bbcf28 Fix long spinning in rtree_node_init
rtree_node_init spinlocks the node, allocates, and then sets the node.
This is under heavy contention at the top of the tree if many threads
start to allocate at the same time.

Instead, take a per-rtree sleeping mutex to reduce spinning.  Tested
both pthreads and osx OSSpinLock, and both reduce spinning adequately

Previous benchmark time:
./ttest1 500 100
~15s

New benchmark time:
./ttest1 500 100
.57s
2016-11-02 20:30:53 -07:00
..
a0.c Fix tsd bootstrapping for a0malloc(). 2016-05-07 16:55:36 -07:00
arena_reset.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
atomic.c Fix MinGW-related portability issues. 2015-07-23 13:56:25 -07:00
bitmap.c Implement BITMAP_INFO_INITIALIZER(nbits). 2016-05-13 10:27:48 -07:00
ckh.c Do not (recursively) allocate within tsd_fetch(). 2016-10-20 23:59:12 -07:00
decay.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
extent_quantize.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
fork.c Call _exit(2) rather than exit(3) in forked child. 2016-11-02 18:05:19 -07:00
hash.c Fix stack corruption and uninitialized var warning 2016-02-29 15:22:53 -08:00
junk_alloc.c Fix style nits. 2016-04-17 13:44:59 -07:00
junk_free.c Fix style nits. 2016-04-17 13:44:59 -07:00
junk.c Make dss operations lockless. 2016-10-13 15:37:00 -07:00
mallctl.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
math.c Work around a weird pgi bug in test/unit/math.c 2016-06-08 14:20:32 -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
nstime.c Do not advance decay epoch when time goes backwards. 2016-10-10 22:15:10 -07:00
ph.c Refactor/fix ph. 2016-04-11 02:15:42 -07:00
prng.c Implement cache-oblivious support for huge size classes. 2016-06-03 12:27:41 -07:00
prof_accum.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
prof_active.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
prof_gdump.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
prof_idump.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
prof_reset.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
prof_thread_name.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -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
rb.c Remove rbt_nil 2016-02-23 18:09:25 -08:00
rtree.c Fix long spinning in rtree_node_init 2016-11-02 20:30:53 -07:00
SFMT.c Fix MinGW-related portability issues. 2015-07-23 13:56:25 -07:00
size_classes.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
smoothstep.c Implement smoothstep table generation. 2016-02-19 20:56:15 -08:00
stats.c Uniformly cast mallctl[bymib]() oldp/newp arguments to (void *). 2016-10-27 21:31:25 -07:00
ticker.c Implement ticker. 2016-02-19 20:29:06 -08:00
tsd.c Add cast to silence (harmless) conversion warning. 2016-10-27 21:29:00 -07:00
util.c Explicitly cast negative constants meant for use as unsigned. 2016-10-27 21:29:59 -07:00
witness.c Add rtree element witnesses. 2016-06-03 12:27:41 -07:00
zero.c Remove all vestiges of chunks. 2016-10-12 11:55:43 -07:00