jemalloc/src
Guangli Dai bffe921ba0 Prepare pac and hpa psset for size to grow by PAGE over GROUP*PAGE
For PAC, to avoid having too many bins, arena bins still have the same
layout.  This means some extra search is needed for a page-level request that
is not aligned with the orginal size class: it should also search the heap
before the current index since the previous heap might also be able to
have some allocations satisfying it.  The same changes apply to HPA's
psset.

This search relies on the enumeration of the heap because not all allocs in
the previous heap are guaranteed to satisfy the request.  To balance the
memory and CPU overhead, we currently enumerate at most a fixed number
of nodes before concluding none can satisfy the request during an
enumeration.
2025-02-19 12:03:30 -08:00
..
arena.c Allow a range for the nfill passed to arena_cache_bin_fill_small 2024-08-29 10:50:33 -07:00
background_thread.c Fix the lock owner sanity checking during background thread boot. 2024-09-23 18:06:07 -07:00
base.c Fix the VM over-reservation on aarch64 w/ larger pages. 2024-09-04 15:43:59 -07:00
batcher.c Bin batching: add some stats. 2024-05-22 10:30:31 -07:00
bin.c Add batching to arena bins. 2024-05-22 10:30:31 -07:00
bin_info.c Add batching to arena bins. 2024-05-22 10:30:31 -07:00
bitmap.c Remove beginning define in source files 2020-06-19 12:15:44 -07:00
buf_writer.c Remove beginning define in source files 2020-06-19 12:15:44 -07:00
cache_bin.c Cleanup cache_bin_info_t* info input args 2023-10-25 10:27:31 -07:00
ckh.c Fix shadowed variable usage. 2021-12-23 10:55:08 -08:00
counter.c Remove beginning define in source files 2020-06-19 12:15:44 -07:00
ctl.c Add config option limit-usize-gap and runtime option limit_usize_gap. 2025-02-07 10:56:33 -08:00
decay.c Fix remaining static analysis warnings 2023-06-23 11:50:29 -07:00
div.c Add the div module, which allows fast division by dynamic values. 2017-12-21 14:25:43 -08:00
ecache.c San: Rename 'guard' to 'san' 2021-12-15 10:39:17 -08:00
edata.c Pairing heap: inline functions instead of macros. 2021-08-02 15:02:49 -07:00
edata_cache.c edata_cache: Allow unbounded fast caching. 2021-07-26 15:14:37 -07:00
ehooks.c Fix ehooks assertion for arena creation 2024-12-11 13:33:32 -08:00
emap.c Set dependent as false for all rtree reads without ownership 2024-06-24 10:50:20 -07:00
eset.c Prepare pac and hpa psset for size to grow by PAGE over GROUP*PAGE 2025-02-19 12:03:30 -08:00
exp_grow.c Fix the VM over-reservation on aarch64 w/ larger pages. 2024-09-04 15:43:59 -07:00
extent.c Fix a missing init value warning caught by static analysis. 2024-09-20 16:56:07 -07:00
extent_dss.c Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
extent_mmap.c Remove beginning define in source files 2020-06-19 12:15:44 -07:00
fxp.c Add fxp: A fixed-point math library. 2020-12-04 23:48:19 -08:00
hook.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
hpa.c Disable psset test when hugepage size is too large. 2024-12-17 12:35:35 -08:00
hpa_hooks.c Add opt hpa_hugify_sync to hugify synchronously 2024-11-20 10:52:52 -08:00
hpdata.c Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
inspect.c Enable a few additional warnings for CI and fix the issues they uncovered 2023-08-11 13:56:23 -07:00
jemalloc.c Prepare tcache for size to grow by PAGE over GROUP*PAGE 2025-02-10 16:34:10 -08:00
jemalloc_cpp.cpp Add LOGs when entrying and exiting free and sdallocx. 2024-01-11 14:37:20 -08:00
large.c Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
log.c Logging: allow logging with empty varargs. 2017-07-22 09:38:19 -07:00
malloc_io.c Fix remaining static analysis warnings 2023-06-23 11:50:29 -07:00
mutex.c Enable a few additional warnings for CI and fix the issues they uncovered 2023-08-11 13:56:23 -07:00
nstime.c Add nstime_ms_since to get time since in ms 2024-11-08 10:37:28 -08:00
pa.c Introduce getters for page allocator shard stats 2024-04-04 12:17:30 -07:00
pa_extra.c Include HPA ndirty into page allocator ndirty stat 2024-04-04 12:17:30 -07:00
pac.c Fix static analysis warnings. 2024-01-03 14:18:52 -08:00
pages.c Add opt hpa_hugify_sync to hugify synchronously 2024-11-20 10:52:52 -08:00
pai.c HPA: Allow frequent reused alloc to bypass the slab_max_alloc limit, as long as 2024-01-18 14:51:04 -08:00
peak_event.c Add experimental.thread.activity_callback. 2020-11-05 12:33:25 -08:00
prof.c Add usize to prof_sample_hook_t 2024-07-30 10:29:30 -07:00
prof_data.c Fix static analysis warnings. 2024-01-03 14:18:52 -08:00
prof_log.c Make eligible global variables static and/or const 2023-07-06 14:15:12 -07:00
prof_recent.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
prof_stack_range.c Fix the gettid() detection caught by @mrluanma . 2025-01-22 10:30:53 -08:00
prof_stats.c Track per size class internal fragmentation 2021-01-07 20:39:49 -08:00
prof_sys.c Add safe frame-pointer backtrace unwinder 2024-10-01 11:01:56 -07:00
prof_threshold.c Unlike prof_sample which is supported only with profiling mode active, prof_threshold is intended to be an always-supported allocation callback with much less overhead. The usage of the threshold allows performance critical callers to change program execution based on the callback: e.g. drop caches when memory becomes high or to predict the program is about to OOM ahead of time using peak memory watermarks. 2025-01-29 18:55:52 -08:00
psset.c Prepare pac and hpa psset for size to grow by PAGE over GROUP*PAGE 2025-02-19 12:03:30 -08:00
rtree.c metadata usage breakdowns: tracking edata and rtree usages 2023-10-11 11:56:01 -07:00
safety_check.c When safety_check_fail, also embed hint msg in the abort function name 2024-01-11 14:19:54 -08:00
san.c Fix all optimization-inhibiting integer-to-pointer casts 2023-07-24 14:40:42 -07:00
san_bump.c San: Create a function for committing and zeroing 2021-12-15 10:39:17 -08:00
sc.c Add comments and use meaningful vars in sz_psz2ind. 2022-03-24 16:56:59 -07:00
sec.c HPA: Allow frequent reused alloc to bypass the slab_max_alloc limit, as long as 2024-01-18 14:51:04 -08:00
stats.c Expose psset state stats 2024-11-21 09:23:32 -08:00
sz.c Fix static analysis warnings. 2024-01-03 14:18:52 -08:00
tcache.c Better handle burst allocation on tcache_alloc_small_hard 2024-08-29 10:50:33 -07:00
test_hooks.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
thread_event.c Unlike prof_sample which is supported only with profiling mode active, prof_threshold is intended to be an always-supported allocation callback with much less overhead. The usage of the threshold allows performance critical callers to change program execution based on the callback: e.g. drop caches when memory becomes high or to predict the program is about to OOM ahead of time using peak memory watermarks. 2025-01-29 18:55:52 -08:00
ticker.c Add ticker_geom_t. 2021-02-04 14:10:43 -08:00
ticker.py Add ticker_geom_t. 2021-02-04 14:10:43 -08:00
tsd.c Use MSVC __declspec(thread) for TSD on Windows 2024-09-30 11:33:44 -07:00
util.c Add mallctl to set and get ncached_max of each cache_bin. 2023-10-17 14:53:23 -07:00
witness.c Remove beginning define in source files 2020-06-19 12:15:44 -07:00
zone.c Fix deadlock in multithreaded fork in OS X. 2017-07-10 18:17:12 -07:00