server-skynet-source-3rd-je.../test/unit
Jason Evans 577d4572b0 Make dss operations lockless.
Rather than protecting dss operations with a mutex, use atomic
operations.  This has negligible impact on synchronization overhead
during typical dss allocation, but is a substantial improvement for
extent_in_dss() and the newly added extent_dss_mergeable(), which can be
called multiple times during extent deallocations.

This change also has the advantage of avoiding tsd in deallocation paths
associated with purging, which resolves potential deadlocks during
thread exit due to attempted tsd resurrection.

This resolves #425.
2016-10-13 15:37:00 -07:00
..
a0.c Fix tsd bootstrapping for a0malloc(). 2016-05-07 16:55:36 -07:00
arena_reset.c s/chunk_lookup/extent_lookup/g, s/chunks_rtree/extents_rtree/g 2016-06-05 20:42:23 -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 Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
decay.c Remove ratio-based purging. 2016-10-12 10:40:27 -07:00
extent_quantize.c Rename huge to large. 2016-06-05 20:42:23 -07:00
fork.c Don't test fork() on Windows. 2016-05-03 17:18:34 -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 Remove all vestiges of chunks. 2016-10-12 11:55:43 -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 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 Remove all vestiges of chunks. 2016-10-12 11:55:43 -07:00
prof_idump.c Use huge size class infrastructure for large size classes. 2016-06-05 20:42:18 -07:00
prof_reset.c Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -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
rb.c Remove rbt_nil 2016-02-23 18:09:25 -08:00
rtree.c Add rtree lookup path caching. 2016-06-05 20:59:57 -07:00
SFMT.c Fix MinGW-related portability issues. 2015-07-23 13:56:25 -07:00
size_classes.c Rename huge to large. 2016-06-05 20:42:23 -07:00
smoothstep.c Implement smoothstep table generation. 2016-02-19 20:56:15 -08:00
stats.c Remove all vestiges of chunks. 2016-10-12 11:55:43 -07:00
ticker.c Implement ticker. 2016-02-19 20:29:06 -08:00
tsd.c Fix tsd bootstrapping for a0malloc(). 2016-05-07 16:55:36 -07:00
util.c Fix style nits. 2016-04-17 13:44: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