server-skynet-source-3rd-je.../include/jemalloc/internal
Qi Wang ec532e2c5c Implement per-CPU arena.
The new feature, opt.percpu_arena, determines thread-arena association
dynamically based CPU id. Three modes are supported: "percpu", "phycpu"
and disabled.

"percpu" uses the current core id (with help from sched_getcpu())
directly as the arena index, while "phycpu" will assign threads on the
same physical CPU to the same arena. In other words, "percpu" means # of
arenas == # of CPUs, while "phycpu" has # of arenas == 1/2 * (# of
CPUs). Note that no runtime check on whether hyper threading is enabled
is added yet.

When enabled, threads will be migrated between arenas when a CPU change
is detected. In the current design, to reduce overhead from reading CPU
id, each arena tracks the thread accessed most recently. When a new
thread comes in, we will read CPU id and update arena if necessary.
2017-03-08 23:19:01 -08:00
..
arena_externs.h Implement per-CPU arena. 2017-03-08 23:19:01 -08:00
arena_inlines_a.h Implement per-CPU arena. 2017-03-08 23:19:01 -08:00
arena_inlines_b.h Synchronize arena->decay with arena->decay.mtx. 2017-02-16 09:39:46 -08:00
arena_structs_a.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
arena_structs_b.h Implement per-CPU arena. 2017-03-08 23:19:01 -08:00
arena_types.h Implement per-CPU arena. 2017-03-08 23:19:01 -08:00
assert.h Disentangle assert and util 2017-03-06 15:08:43 -08:00
atomic_c11.h Introduce a backport of C11 atomics 2017-03-03 13:40:59 -08:00
atomic_gcc_atomic.h Insert not_reached after an exhaustive switch 2017-03-06 15:08:43 -08:00
atomic_gcc_sync.h Introduce a backport of C11 atomics 2017-03-03 13:40:59 -08:00
atomic_msvc.h Introduce a backport of C11 atomics 2017-03-03 13:40:59 -08:00
atomic.h Reintroduce JEMALLOC_ATOMIC_U64 2017-03-08 21:26:37 -08:00
base_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
base_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
base_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
base_types.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
bit_util.h Disentangle assert and util 2017-03-06 15:08:43 -08:00
bitmap_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
bitmap_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
bitmap_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
bitmap_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
ckh_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
ckh_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
ckh_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
ctl_externs.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
ctl_structs.h Fix --disable-stats support. 2017-01-19 18:31:07 -08:00
ctl_types.h Fix --disable-stats support. 2017-01-19 18:31:07 -08:00
extent_dss_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
extent_dss_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
extent_dss_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
extent_externs.h Perform delayed coalescing prior to purging. 2017-03-07 10:25:12 -08:00
extent_inlines.h Perform delayed coalescing prior to purging. 2017-03-07 10:25:12 -08:00
extent_mmap_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
extent_structs.h Convert extents_t's npages field to use C11-style atomics 2017-03-08 21:27:09 -08:00
extent_types.h Disentangle arena and extent locking. 2017-02-01 16:43:46 -08:00
hash_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
jemalloc_internal_decls.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
jemalloc_internal_defs.h.in Implement per-CPU arena. 2017-03-08 23:19:01 -08:00
jemalloc_internal_macros.h Make type abbreviations consistent: ssize_t is zd everywhere 2017-03-06 18:49:19 -08:00
jemalloc_internal.h.in Implement per-CPU arena. 2017-03-08 23:19:01 -08:00
large_externs.h Disentangle arena and extent locking. 2017-02-01 16:43:46 -08:00
malloc_io.h Disentangle assert and util 2017-03-06 15:08:43 -08:00
mutex_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
mutex_inlines.h Enable mutex witnesses even when !isthreaded. 2017-02-09 17:05:47 -08:00
mutex_structs.h Get rid of witness in malloc_mutex_t when !(configured w/ debug). 2017-02-24 09:41:29 -08:00
mutex_types.h Get rid of witness in malloc_mutex_t when !(configured w/ debug). 2017-02-24 09:41:29 -08:00
nstime_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
nstime_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
nstime_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
pages_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
pages_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
ph.h Add any() and remove_any() to ph. 2017-03-07 10:25:33 -08:00
private_namespace.sh Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
private_symbols.txt Implement per-CPU arena. 2017-03-08 23:19:01 -08:00
private_unnamespace.sh Refactor to support more varied testing. 2013-12-03 22:06:59 -08:00
prng_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
prng_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
prof_externs.h Convert arena->prof_accumbytes synchronization to atomics. 2017-02-16 09:39:46 -08:00
prof_inlines_a.h Convert arena->prof_accumbytes synchronization to atomics. 2017-02-16 09:39:46 -08:00
prof_inlines_b.h Convert arena->prof_accumbytes synchronization to atomics. 2017-02-16 09:39:46 -08:00
prof_structs.h Convert arena->prof_accumbytes synchronization to atomics. 2017-02-16 09:39:46 -08:00
prof_types.h Convert arena->prof_accumbytes synchronization to atomics. 2017-02-16 09:39:46 -08:00
public_namespace.sh Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
public_unnamespace.sh Fix name mangling for stress tests. 2014-01-16 17:38:01 -08:00
ql.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
qr.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
rb.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
rtree_externs.h Determine rtree levels at compile time. 2017-02-08 18:50:03 -08:00
rtree_inlines.h Fix rtree_subkey() regression. 2017-02-10 09:05:02 -08:00
rtree_structs.h Determine rtree levels at compile time. 2017-02-08 18:50:03 -08:00
rtree_types.h Determine rtree levels at compile time. 2017-02-08 18:50:03 -08:00
size_classes.sh Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
smoothstep.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
smoothstep.sh Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
spin_inlines.h Enhance spin_adaptive() to yield after several iterations. 2017-02-08 18:50:03 -08:00
spin_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
spin_types.h Replace spin_init() with SPIN_INITIALIZER. 2017-02-08 18:50:03 -08:00
stats_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
stats_structs.h Optimize malloc_large_stats_t maintenance. 2017-03-04 08:18:31 -08:00
stats_types.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
tcache_externs.h Store associated arena in tcache. 2017-03-07 12:58:11 -08:00
tcache_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
tcache_structs.h Store associated arena in tcache. 2017-03-07 12:58:11 -08:00
tcache_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
ticker_inlines.h Remove extraneous parens around return arguments. 2017-01-20 21:43:07 -08:00
ticker_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
ticker_types.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
tsd_externs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
tsd_inlines.h Do not generate unused tsd_*_[gs]et() functions. 2017-02-13 10:47:16 -08:00
tsd_structs.h Do not generate unused tsd_*_[gs]et() functions. 2017-02-13 10:47:16 -08:00
tsd_types.h Replace tabs following #define with spaces. 2017-01-20 21:45:53 -08:00
util.h Disentangle assert and util 2017-03-06 15:08:43 -08:00
witness_externs.h Add witness_assert_depth[_to_rank](). 2017-02-01 16:43:46 -08:00
witness_inlines.h Add witness_assert_depth[_to_rank](). 2017-02-01 16:43:46 -08:00
witness_structs.h Break up headers into constituent parts 2017-01-12 15:43:51 -08:00
witness_types.h Update a comment. 2017-02-26 11:05:27 -08:00