Make huge_arena_ind static within the arena module (Follow up for PR #2904)

This commit is contained in:
Slobodan Predolac 2026-04-30 12:31:55 -07:00
parent 3a77966168
commit 9ae0c1b6d3
3 changed files with 8 additions and 4 deletions

View file

@ -33,8 +33,6 @@ extern size_t oversize_threshold;
extern bool opt_huge_arena_pac_thp;
extern pac_thp_t huge_arena_pac_thp;
extern unsigned huge_arena_ind;
/*
* arena_bin_offsets[binind] is the offset of the first bin shard for size class
* binind.
@ -108,6 +106,7 @@ void arena_nthreads_inc(arena_t *arena, bool internal);
void arena_nthreads_dec(arena_t *arena, bool internal);
arena_t *arena_new(tsdn_t *tsdn, unsigned ind, const arena_config_t *config);
bool arena_init_huge(tsdn_t *tsdn, arena_t *a0);
bool arena_ind_is_huge(unsigned ind);
arena_t *arena_choose_huge(tsd_t *tsd);
size_t arena_fill_small_fresh(tsdn_t *tsdn, arena_t *arena, szind_t binind,
void **ptrs, size_t nfill, bool zero);

View file

@ -47,7 +47,7 @@ static unsigned nbins_total;
* that, the huge_arena_ind is updated to point to the actual huge arena,
* which is the last one of the auto arenas.
*/
unsigned huge_arena_ind = 0;
static unsigned huge_arena_ind = 0;
bool opt_huge_arena_pac_thp = false;
pac_thp_t huge_arena_pac_thp = {.thp_madvise = false,
.auto_thp_switched = false,
@ -1978,6 +1978,11 @@ arena_init_huge(tsdn_t *tsdn, arena_t *a0) {
return huge_enabled;
}
bool
arena_ind_is_huge(unsigned ind) {
return huge_arena_ind != 0 && ind == huge_arena_ind;
}
bool
arena_boot(sc_data_t *sc_data, base_t *base, bool hpa) {
arena_dirty_decay_ms_default_set(opt_dirty_decay_ms);

View file

@ -823,7 +823,7 @@ extent_grow_retained(tsdn_t *tsdn, pac_t *pac, ehooks_t *ehooks, size_t size,
if (huge_arena_pac_thp.thp_madvise) {
/* Avoid using HUGEPAGE when the grow size is less than HUGEPAGE. */
if (ind != 0 && ind == huge_arena_ind
if (arena_ind_is_huge(ind)
&& ehooks_are_default(ehooks)
&& likely(alloc_size >= HUGEPAGE)) {
extent_handle_huge_arena_thp(tsdn, &huge_arena_pac_thp,