server-skynet-source-3rd-je.../src
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
..
arena.c Make dss operations lockless. 2016-10-13 15:37:00 -07:00
atomic.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
base.c Remove all vestiges of chunks. 2016-10-12 11:55:43 -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
ctl.c Do not (recursively) allocate within tsd_fetch(). 2016-10-20 23:59:12 -07:00
extent_dss.c Make dss operations lockless. 2016-10-13 15:37:00 -07:00
extent_mmap.c Fix potential VM map fragmentation regression. 2016-06-07 14:15:49 -07:00
extent.c Fix extent_rtree acquire() to release element on error. 2016-10-31 16:32:33 -07:00
hash.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
jemalloc.c Check for existance of CPU_COUNT macro before using it. 2016-11-02 20:05:40 -07:00
large.c Make dss operations lockless. 2016-10-13 15:37:00 -07:00
mb.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
mutex.c Add os_unfair_lock support. 2016-11-02 18:09:45 -07:00
nstime.c Use CLOCK_MONOTONIC_COARSE rather than COARSE_MONOTONIC_RAW. 2016-10-29 22:58:18 -07:00
pages.c Do not use syscall(2) on OS X 10.12 (deprecated). 2016-11-02 19:18:33 -07:00
prng.c Refactor prng* from cpp macros into inline functions. 2016-02-19 20:29:06 -08:00
prof.c Do not (recursively) allocate within tsd_fetch(). 2016-10-20 23:59:12 -07:00
rtree.c Fix long spinning in rtree_node_init 2016-11-02 20:30:53 -07:00
spin.c Add/use adaptive spinning. 2016-10-13 14:55:39 -07:00
stats.c malloc_stats_print() fixes/cleanups. 2016-11-01 15:26:35 -07:00
tcache.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 Make tsd cleanup functions optional, remove noop cleanup functions. 2016-06-05 20:42:24 -07:00
util.c Do not use syscall(2) on OS X 10.12 (deprecated). 2016-11-02 19:18:33 -07:00
witness.c Make tsd cleanup functions optional, remove noop cleanup functions. 2016-06-05 20:42:24 -07:00
zone.c Fix/refactor zone allocator integration code. 2016-11-02 18:06:40 -07:00