jemalloc/src
Jason Evans e2bcf037d4 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
chunk_in_dss() and the newly added chunk_dss_mergeable(), which can be
called multiple times during chunk 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:33:56 -07:00
..
arena.c Make dss operations lockless. 2016-10-13 15:33:56 -07:00
atomic.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
base.c Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
bitmap.c Reduce differences between alternative bitmap implementations. 2016-04-06 10:38:47 -07:00
chunk.c Make dss operations lockless. 2016-10-13 15:33:56 -07:00
chunk_dss.c Make dss operations lockless. 2016-10-13 15:33:56 -07:00
chunk_mmap.c Fix potential VM map fragmentation regression. 2016-06-07 14:21:21 -07:00
ckh.c Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
ctl.c Make dss operations lockless. 2016-10-13 15:33:56 -07:00
extent.c Allow const keys for lookup 2015-11-09 15:48:05 -08:00
hash.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
huge.c Make dss operations lockless. 2016-10-13 15:33:56 -07:00
jemalloc.c Make dss operations lockless. 2016-10-13 15:33:56 -07:00
mb.c Move repo contents in jemalloc/ to top level. 2011-03-31 20:36:17 -07:00
mutex.c Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
nstime.c Do not advance decay epoch when time goes backwards. 2016-10-10 22:31:37 -07:00
pages.c Close file descriptor after reading "/proc/sys/vm/overcommit_memory". 2016-09-26 15:58:44 -07:00
prng.c Refactor prng* from cpp macros into inline functions. 2016-02-19 20:29:06 -08:00
prof.c Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
quarantine.c Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
rtree.c Add/use adaptive spinning. 2016-10-13 14:58:38 -07:00
spin.c Add/use adaptive spinning. 2016-10-13 14:58:38 -07:00
stats.c Add the stats.retained and stats.arenas.<i>.retained statistics. 2016-05-03 22:11:35 -07:00
tcache.c Resolve bootstrapping issues when embedded in FreeBSD libc. 2016-05-10 22:51:33 -07:00
ticker.c Implement ticker. 2016-02-19 20:29:06 -08:00
tsd.c Use TSDN_NULL rather than NULL as appropriate. 2016-10-04 15:56:56 -07:00
util.c Fix -Wunreachable-code warning in malloc_vsnprintf(). 2016-03-26 23:24:33 -07:00
valgrind.c Optimize Valgrind integration. 2014-04-15 16:49:57 -07:00
witness.c Mangle tested functions as n_witness_* rather than witness_*_impl. 2016-05-11 16:14:20 -07:00
zone.c Formatting fixes. 2016-09-26 11:01:59 -07:00