jemalloc/test/unit
Dmitry Ilvokhin 46690c9ec0 Fix test_retained on boxes with a lot of CPUs
We are trying to create `ncpus * 2` threads for this test and place them
into `VARIABLE_ARRAY`, but `VARIABLE_ARRAY` can not be more than
`VARIABLE_ARRAY_SIZE_MAX` bytes. When there are a lot of threads on the
box test always fails.

```
$ nproc
176

$ make -j`nproc` tests_unit && ./test/unit/retained
<jemalloc>: ../test/unit/retained.c:123: Failed assertion:
"sizeof(thd_t) * (nthreads) <= VARIABLE_ARRAY_SIZE_MAX"
Aborted (core dumped)
```

There is no need for high concurrency for this test as we are only
checking stats there and it's behaviour is quite stable regarding number
of allocating threads.

Limited number of threads to 16 to save compute resources (on CI for
example) and reduce tests running time.

Before the change (`nproc` is 80 on this box).

```
$ make -j`nproc` tests_unit && time ./test/unit/retained
<...>
real    0m0.372s
user    0m14.236s
sys     0m12.338s
```

After the change (same box).

```
$ make -j`nproc` tests_unit && time ./test/unit/retained
<...>
real    0m0.018s
user    0m0.108s
sys     0m0.068s
```
2024-12-02 14:12:26 -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 Expose psset state stats 2024-11-21 09:23:32 -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 Expose psset state stats 2024-11-21 09:23:32 -08: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 Fix test_retained on boxes with a lot of CPUs 2024-12-02 14:12:26 -08: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
SFMT.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