server-skynet-source-3rd-je.../include/jemalloc/internal
Qi Wang 72cfdce718 Allocate tcache stack from base allocator
When using metadata_thp, allocate tcache bin stacks from base0, which means they
will be placed on huge pages along with other metadata, instead of mixed with
other regular allocations.

In order to do so, modified the base allocator to support limited reuse: freed
tcached stacks (from thread termination) will be returned to base0 and made
available for reuse, but no merging will be attempted since they were bump
allocated out of base blocks. These reused base extents are managed using
separately allocated base edata_t -- they are cached in base->edata_avail when
the extent is all allocated.

One tricky part is, stats updating must be skipped for such reused extents
(since they were accounted for already, and there is no purging for base). This
requires tracking the "if is reused" state explicitly and bypass the stats
updates when allocating from them.
2023-09-18 12:18:32 -07:00
..
activity_callback.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
arena_externs.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
arena_inlines_a.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
arena_inlines_b.h Enable per-tcache tcache_max 2023-09-06 10:47:14 -07:00
arena_stats.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
arena_structs.h Issue a warning upon directly accessing an arena's bins 2023-08-04 15:47:05 -07:00
arena_types.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
assert.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
atomic_c11.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
atomic_gcc_atomic.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
atomic_gcc_sync.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
atomic_msvc.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
atomic.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
background_thread_externs.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
background_thread_inlines.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
background_thread_structs.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
base.h Allocate tcache stack from base allocator 2023-09-18 12:18:32 -07:00
bin_info.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
bin_stats.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
bin_types.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
bin.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
bit_util.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
bitmap.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
buf_writer.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
cache_bin.h Allocate tcache stack from base allocator 2023-09-18 12:18:32 -07:00
ckh.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
counter.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
ctl.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
decay.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
div.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
ecache.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
edata_cache.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
edata.h Allocate tcache stack from base allocator 2023-09-18 12:18:32 -07:00
ehooks.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
emap.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
emitter.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
eset.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
exp_grow.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
extent_dss.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
extent_mmap.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
extent.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
fb.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
fxp.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
hash.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
hook.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
hpa_hooks.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
hpa_opts.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
hpa.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
hpdata.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
inspect.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
jemalloc_internal_decls.h Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
jemalloc_internal_defs.h.in Implement C23's free_sized and free_aligned_sized 2023-07-20 15:06:41 -07:00
jemalloc_internal_externs.h Fix infinite purging loop in HPA 2023-08-08 14:36:19 -07:00
jemalloc_internal_includes.h fix some typos 2022-04-25 11:29:00 -07:00
jemalloc_internal_inlines_a.h Fix reading CPU id using rdtscp. 2023-08-28 11:46:39 -07:00
jemalloc_internal_inlines_b.h Enable per-tcache tcache_max 2023-09-06 10:47:14 -07:00
jemalloc_internal_inlines_c.h Enable per-tcache tcache_max 2023-09-06 10:47:14 -07:00
jemalloc_internal_macros.h Add support for the deprecated attribute 2023-08-04 15:47:05 -07:00
jemalloc_internal_overrides.h Add an override for the compile-time malloc_conf to jemalloc_internal_overrides.h 2023-07-31 14:53:15 -07:00
jemalloc_internal_types.h Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
jemalloc_preamble.h.in Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
large_externs.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
lockedint.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
log.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
malloc_io.h Ensure short read(2)s/write(2)s are properly handled by IO utilities 2023-08-11 13:36:24 -07:00
mpsc_queue.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
mutex_prof.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
mutex.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
nstime.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
pa.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
pac.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
pages.h Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
pai.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
peak_event.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
peak.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
ph.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
private_namespace.sh Automatically generate private symbol name mangling macros. 2017-05-11 23:06:54 -07:00
private_symbols.sh Automatically generate private symbol name mangling macros. 2017-05-11 23:06:54 -07:00
prng.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
prof_data.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
prof_externs.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
prof_hook.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
prof_inlines.h Define PROF_TCTX_SENTINEL instead of using magic numbers 2023-07-24 14:40:42 -07:00
prof_log.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
prof_recent.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
prof_stats.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
prof_structs.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
prof_sys.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
prof_types.h Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
psset.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07: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 Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
qr.h QL, QR: Add documentation. 2020-04-11 10:32:11 -07:00
quantum.h jemalloc: fix PowerPC definitions in quantum.h 2022-05-26 10:51:10 -07:00
rb.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
rtree_tsd.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
rtree.h Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
safety_check.h Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
san_bump.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
san.h Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
sc.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
sec_opts.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
sec.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
seq.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
slab_data.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
smoothstep.h Cleanup smoothstep.sh / .h. 2017-05-25 16:52:10 -07:00
smoothstep.sh Cleanup smoothstep.sh / .h. 2017-05-25 16:52:10 -07:00
spin.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
stats.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
sz.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
tcache_externs.h Enable per-tcache tcache_max 2023-09-06 10:47:14 -07:00
tcache_inlines.h Enable per-tcache tcache_max 2023-09-06 10:47:14 -07:00
tcache_structs.h Enable per-tcache tcache_max 2023-09-06 10:47:14 -07:00
tcache_types.h Enable per-tcache tcache_max 2023-09-06 10:47:14 -07:00
test_hooks.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
thread_event.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
ticker.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
tsd_generic.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
tsd_internals.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
tsd_malloc_thread_cleanup.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
tsd_tls.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
tsd_types.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
tsd_win.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
tsd.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
typed_list.h Add empty test and concat for typed list 2020-07-31 09:16:50 -07:00
util.h Use compiler-provided assume builtins when available 2023-08-08 14:59:36 -07:00
witness.h Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00