jemalloc/test/unit
Dmitry Ilvokhin 3820e38dc1 Remove validation for HPA ratios
Config validation was introduced at 3aae792b with main intention to fix
infinite purging loop, but it didn't actually fix the underlying
problem, just masked it. Later 47d69b4ea was merged to address the same
problem.

Options `hpa_dirty_mult` and `hpa_hugification_threshold` have different
application dimensions: `hpa_dirty_mult` applied to active memory on the
shard, but `hpa_hugification_threshold` is a threshold for single
pageslab (hugepage). It doesn't make much sense to sum them up together.

While it is true that too high value of `hpa_dirty_mult` and too low
value of `hpa_hugification_threshold` can lead to pathological
behaviour, it is true for other options as well. Poor configurations
might lead to suboptimal and sometimes completely unacceptable
behaviour and that's OK, that is exactly the reason why they are called
poor.

There are other mechanism exist to prevent extreme behaviour, when we
hugified and then immediately purged page, see
`hpa_hugify_blocked_by_ndirty` function, which exist to prevent exactly
this case.

Lastly, `hpa_dirty_mult + hpa_hugification_threshold >= 1` constraint is
too tight and prevents a lot of valid configurations.
2024-11-20 18:59:07 -08:00
..
SFMT.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
a0.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
arena_decay.c fix nstime_update_mock in arena_decay unit test 2024-08-29 10:50:33 -07:00
arena_decay.sh Allow opt.tcache_max to accept small size classes. 2020-10-24 20:43:44 -07:00
arena_reset.c Fix shadowed variable usage. 2021-12-23 10:55:08 -08:00
arena_reset_prof.c Use MALLOC_CONF rather than malloc_conf for tests. 2017-02-23 08:57:02 -08:00
arena_reset_prof.sh Use MALLOC_CONF rather than malloc_conf for tests. 2017-02-23 08:57:02 -08:00
atomic.c Fix shadowed variable usage. 2021-12-23 10:55:08 -08:00
background_thread.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
background_thread_enable.c More conservative setting for /test/unit/background_thread_enable. 2023-02-16 14:42:21 -08:00
base.c metadata usage breakdowns: tracking edata and rtree usages 2023-10-11 11:56:01 -07:00
batch_alloc.c Enable per-tcache tcache_max 2023-09-06 10:47:14 -07:00
batch_alloc.sh Add batch allocation API 2020-07-31 09:16:50 -07:00
batch_alloc_prof.c Add batch allocation API 2020-07-31 09:16:50 -07:00
batch_alloc_prof.sh Add batch allocation API 2020-07-31 09:16:50 -07:00
batcher.c Add batcher module. 2024-05-22 10:30:31 -07:00
bin_batching.c Fix initialization of pop_attempt_results in bin_batching test 2024-09-12 11:36:17 -07:00
bin_batching.sh Add batching to arena bins. 2024-05-22 10:30:31 -07:00
binshard.c PA: Parameterize emap. Move emap_global to arena. 2020-04-10 13:12:47 -07:00
binshard.sh Add unit test for sharded bins. 2018-12-03 17:17:03 -08:00
bit_util.c Make eligible functions `static` 2023-05-08 15:00:02 -07:00
bitmap.c bitset test: Pull NBITS_TAB into its own file. 2020-07-30 15:25:23 -07:00
buf_writer.c Add piping API to buffered writer 2020-04-01 09:41:20 -07:00
cache_bin.c Cleanup cache_bin_info_t* info input args 2023-10-25 10:27:31 -07:00
ckh.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
counter.c Migrate counter to use locked int 2020-05-12 08:23:15 -07:00
decay.c Wake up background threads on demand 2021-09-17 16:56:41 -07:00
div.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
double_free.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
double_free.h Eagerly detect double free and sized dealloc bugs for large sizes. 2020-10-15 10:03:16 -07:00
edata_cache.c add experimental.arenas_create_ext mallctl 2021-09-24 13:43:18 -07:00
emitter.c Emit long string values without truncation 2024-07-29 13:58:31 -07:00
extent_quantize.c Implement opt.cache_oblivious. 2021-02-11 11:32:01 -08:00
fb.c Travis: Unbreak the builds. 2021-06-24 07:40:28 -07:00
fork.c Add batching to arena bins. 2024-05-22 10:30:31 -07:00
fxp.c fxp: Add FXP_INIT_PERCENT 2021-02-04 20:58:31 -08:00
hash.c add a size check when declare a stack array to be less than 2048 bytes 2024-08-06 13:16:09 -07:00
hook.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
hpa.c Add opt `hpa_hugify_sync` to hugify synchronously 2024-11-20 10:52:52 -08:00
hpa_background_thread.c Respect `hpa_min_purge_interval_ms` option 2024-06-07 10:52:41 -07:00
hpa_background_thread.sh Remove validation for HPA ratios 2024-11-20 18:59:07 -08:00
hpdata.c HPA: Purge across retained extents. 2021-07-12 17:59:18 -07:00
huge.c Avoid assuming the arena id in test when percpu_arena is used. 2023-03-13 10:50:10 -07:00
inspect.c Inspect test: Reduce checks when profiling is on. 2020-03-12 11:58:09 -07:00
inspect.sh Add the profiling settings for tests explicit. 2021-12-22 20:10:28 -08:00
junk.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
junk.sh Use MALLOC_CONF rather than malloc_conf for tests. 2017-02-23 08:57:02 -08:00
junk_alloc.c Use MALLOC_CONF rather than malloc_conf for tests. 2017-02-23 08:57:02 -08:00
junk_alloc.sh Use MALLOC_CONF rather than malloc_conf for tests. 2017-02-23 08:57:02 -08:00
junk_free.c Use MALLOC_CONF rather than malloc_conf for tests. 2017-02-23 08:57:02 -08:00
junk_free.sh Use MALLOC_CONF rather than malloc_conf for tests. 2017-02-23 08:57:02 -08:00
log.c Travis: Unbreak the builds. 2021-06-24 07:40:28 -07:00
mallctl.c Add opt `hpa_hugify_sync` to hugify synchronously 2024-11-20 10:52:52 -08:00
malloc_conf_2.c print out all malloc_conf settings in stats 2024-02-29 12:12:44 -08:00
malloc_conf_2.sh Add malloc_conf_2_conf_harder 2020-03-31 06:25:08 -07:00
malloc_io.c IO: Support 0-padding for unsigned numbers. 2020-08-13 10:03:15 -07:00
math.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
mpsc_queue.c mpsc_queue: Add module. 2021-06-24 14:55:49 -07:00
mq.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
mtx.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
ncached_max.c Refactor the tcache initiailization 2023-10-18 14:11:46 -07:00
nstime.c Add `nstime_ms_since` to get time since in ms 2024-11-08 10:37:28 -08:00
oversize_threshold.c Avoid eager purging on the dedicated oversize arena when using bg thds. 2023-06-27 11:57:41 -07:00
pa.c Make eligible functions `static` 2023-05-08 15:00:02 -07:00
pack.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
pack.sh Refactor *decay_time into *decay_ms. 2017-05-18 11:33:45 -07:00
pages.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
peak.c Add peak_t, for tracking allocator net max. 2020-06-11 13:54:22 -07:00
ph.c Pairing heap: inline functions instead of macros. 2021-08-02 15:02:49 -07:00
prng.c PRNG test: cleanups. 2020-10-05 19:55:57 -07:00
prof_accum.c Move file handling logic in prof_data to prof_sys 2020-06-29 14:27:50 -07:00
prof_accum.sh Use MALLOC_CONF rather than malloc_conf for tests. 2017-02-23 08:57:02 -08:00
prof_active.c Expose prof_data testing internals only in prof tests 2020-06-29 14:27:50 -07:00
prof_active.sh Add the profiling settings for tests explicit. 2021-12-22 20:10:28 -08:00
prof_gdump.c HPA: Tie components into a PAI implementation. 2020-10-23 11:14:34 -07:00
prof_gdump.sh Enable heap profiling on MacOS 2024-04-09 12:57:01 -07:00
prof_hook.c Add usize to prof_sample_hook_t 2024-07-30 10:29:30 -07:00
prof_hook.sh Making jemalloc max stack depth a runtime option 2022-09-12 13:56:22 -07:00
prof_idump.c Fix shadowed variable usage. 2021-12-23 10:55:08 -08:00
prof_idump.sh Remove --disable-tcache. 2017-04-21 10:06:12 -07:00
prof_log.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
prof_log.sh Add the profiling settings for tests explicit. 2021-12-22 20:10:28 -08:00
prof_mdump.c Enable heap profiling on MacOS 2024-04-09 12:57:01 -07:00
prof_mdump.sh Push error handling logic out of core dumping logic 2020-06-29 14:27:50 -07:00
prof_recent.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
prof_recent.sh Add the prof_sys_thread_name feature in the prof_recent unit test. 2023-05-11 09:10:57 -07:00
prof_reset.c Fix shadowed variable usage. 2021-12-23 10:55:08 -08:00
prof_reset.sh Last-N profiling mode 2019-12-30 15:58:57 -08:00
prof_small.c Add a test-case for small profiled allocations 2023-07-03 16:19:06 -07:00
prof_small.sh Add a test-case for small profiled allocations 2023-07-03 16:19:06 -07:00
prof_stats.c Darwin malloc_size override support proposal. 2021-10-01 14:32:40 -07:00
prof_stats.sh Add the profiling settings for tests explicit. 2021-12-22 20:10:28 -08:00
prof_sys_thread_name.c Add a multithreaded test for prof_sys_thread_name. 2023-04-05 10:03:12 -07:00
prof_sys_thread_name.sh Add the profiling settings for tests explicit. 2021-12-22 20:10:28 -08:00
prof_tctx.c Define `PROF_TCTX_SENTINEL` instead of using magic numbers 2023-07-24 14:40:42 -07:00
prof_tctx.sh Add the profiling settings for tests explicit. 2021-12-22 20:10:28 -08:00
prof_thread_name.c Inline the storage for thread name in prof_tdata_t. 2023-04-05 10:03:12 -07:00
prof_thread_name.sh Use MALLOC_CONF rather than malloc_conf for tests. 2017-02-23 08:57:02 -08:00
psset.c psset: Purge empty slabs first. 2021-07-12 17:59:18 -07:00
ql.c Add move constructor to ql module 2020-04-06 09:50:27 -07:00
qr.c Optimize meld in qr module 2020-04-06 09:50:27 -07:00
rb.c Fix shadowed variable usage. 2021-12-23 10:55:08 -08:00
retained.c Address compiler warnings in the unit tests 2023-07-03 16:06:35 -07:00
rtree.c Small refactors around 7bb05e0. 2021-09-27 16:05:13 -07:00
safety_check.c Avoid overflow warnings in test/unit/safety_check. 2022-01-27 10:29:54 -08:00
safety_check.sh Add the profiling settings for tests explicit. 2021-12-22 20:10:28 -08:00
san.c San: Bump alloc frequently reused guarded allocations 2021-12-15 10:39:17 -08:00
san.sh San: Rename 'guard' to 'san' 2021-12-15 10:39:17 -08:00
san_bump.c Rename 'arena_decay' to 'arena_util' 2021-12-15 10:39:17 -08:00
sc.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08: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
seq.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
size_check.c Make eligible functions `static` 2023-05-08 15:00:02 -07:00
size_check.sh Add the profiling settings for tests explicit. 2021-12-22 20:10:28 -08:00
size_classes.c Fix array bounds false warning in gcc 12.3.0 2023-09-05 14:33:55 -07:00
slab.c Tcache flush: keep common path state in registers. 2021-02-04 14:10:43 -08:00
smoothstep.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
spin.c Header refactoring: unify and de-catchall rtree module. 2017-05-31 13:08:45 -07:00
stats.c metadata usage breakdowns: tracking edata and rtree usages 2023-10-11 11:56:01 -07:00
stats_print.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
sz.c fix some typos 2022-04-25 11:29:00 -07:00
tcache_max.c Cleanup cache_bin_info_t* info input args 2023-10-25 10:27:31 -07:00
tcache_max.sh skip tcache GC for tcache_max unit test 2024-06-25 12:59:45 -07:00
test_hooks.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
thread_event.c Remove thread_event_rollback() 2020-03-12 13:55:00 -07:00
thread_event.sh Build a general purpose thread event handler 2019-11-04 11:15:50 -08:00
ticker.c Disallow decay during reentrancy. 2023-04-05 10:16:37 -07:00
tsd.c Enable fast thread locals for dealloc-only threads. 2022-10-25 09:54:38 -07:00
uaf.c Fix test config of lg_san_uaf_align. 2022-01-04 11:03:51 -08:00
witness.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
zero.c Change assert_* to expect_* in tests 2020-02-19 16:03:16 -08:00
zero.sh Use MALLOC_CONF rather than malloc_conf for tests. 2017-02-23 08:57:02 -08:00
zero_realloc_abort.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
zero_realloc_abort.sh Realloc: Make behavior of realloc(ptr, 0) configurable. 2019-10-29 17:48:44 -07:00
zero_realloc_alloc.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
zero_realloc_alloc.sh Rename zero_realloc option "strict" to "alloc". 2022-04-20 10:27:25 -07:00
zero_realloc_free.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
zero_realloc_free.sh Realloc: Make behavior of realloc(ptr, 0) configurable. 2019-10-29 17:48:44 -07:00
zero_reallocs.c Enabled -Wstrict-prototypes and fixed warnings. 2023-07-06 12:00:02 -07:00
zero_reallocs.sh Add stats counters for number of zero reallocs 2019-10-29 17:48:44 -07:00