Pass surviving descriptor through jemalloc_postfork_child orchestrator

The orchestrator looks up the surviving descriptor via
tcache_postfork_arena_descriptor and threads it into
arena_postfork_child, eliminating arena's call into tcache. Also reset
cache_bin_array_descriptor_ql_mtx right before the queue rebuild it
protects.
This commit is contained in:
Slobodan Predolac
2026-05-08 11:36:12 -07:00
parent 3cd9753e23
commit 88745978e9
5 changed files with 28 additions and 23 deletions

View File

@@ -150,7 +150,10 @@ jemalloc_postfork_child(void) {
arena_t *arena;
if ((arena = arena_get(tsd_tsdn(tsd), i, false)) != NULL) {
arena_postfork_child(tsd_tsdn(tsd), arena);
cache_bin_array_descriptor_t *desc =
tcache_postfork_arena_descriptor(
tsd_tsdn(tsd), arena);
arena_postfork_child(tsd_tsdn(tsd), arena, desc);
}
}
prof_postfork_child(tsd_tsdn(tsd));