jemalloc/test
Dmitry Ilvokhin 100b593107 Fix arena 0 deferral_allowed flag init
Arena 0 have a dedicated initialization path, which differs from
initialization path of other arenas. The main difference for the purpose
of this change is that we initialize arena 0 before we initialize
background threads. HPA shard options have `deferral_allowed` flag which
should be equal to `background_thread_enabled()` return value, but it
wasn't the case before this change, because for arena 0
`background_thread_enabled()` was initialized correctly after arena 0
initialization phase already ended.

Below is initialization sequence for arena 0 after this commit to
illustrate everything still should be initialized correctly.

* `hpa_central_init` initializes HPA Central, before we initialize every
  HPA shard (including arena's 0).
* `background_thread_boot1` initializes `background_thread_enabled()`
  return value.
* `pa_shard_enable_hpa` initializes arena 0 HPA shard.

```
                       malloc_init_hard -------------
                      /           /                  \
                     /           /                    \
                    /           /                      \
malloc_init_hard_a0_locked  background_thread_boot1  pa_shard_enable_hpa
        /                     /                          \
       /                     /                            \
      /                     /                              \
arena_boot       background_thread_enabled_seta         hpa_shard_init
     |
     |
pa_central_init
     |
     |
hpa_central_init
```
2025-02-14 09:35:42 -08:00
..
analyze Tcache batching: Plumbing 2024-05-22 10:30:31 -07:00
include/test Add batching to arena bins. 2024-05-22 10:30:31 -07:00
integration Make headers self-contained by fixing #includes 2023-07-14 09:06:32 -07:00
src Enable a few additional warnings for CI and fix the issues they uncovered 2023-08-11 13:56:23 -07:00
stress increase the ncached_max in fill_flush test case to 1024 2024-08-06 13:16:09 -07:00
unit Fix arena 0 deferral_allowed flag init 2025-02-14 09:35:42 -08:00
test.sh.in Print test error messages in color when stderr is a terminal 2023-07-13 13:03:23 -07:00