mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-05-17 18:36:21 +03:00
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:
parent
3cd9753e23
commit
88745978e9
5 changed files with 28 additions and 23 deletions
|
|
@ -129,6 +129,7 @@ void arena_prefork6(tsdn_t *tsdn, arena_t *arena);
|
|||
void arena_prefork7(tsdn_t *tsdn, arena_t *arena);
|
||||
void arena_prefork8(tsdn_t *tsdn, arena_t *arena);
|
||||
void arena_postfork_parent(tsdn_t *tsdn, arena_t *arena);
|
||||
void arena_postfork_child(tsdn_t *tsdn, arena_t *arena);
|
||||
void arena_postfork_child(tsdn_t *tsdn, arena_t *arena,
|
||||
cache_bin_array_descriptor_t *surviving_desc);
|
||||
|
||||
#endif /* JEMALLOC_INTERNAL_ARENA_EXTERNS_H */
|
||||
|
|
|
|||
|
|
@ -72,7 +72,8 @@ void tcaches_destroy(tsd_t *tsd, unsigned ind);
|
|||
bool tcache_boot(tsdn_t *tsdn, base_t *base);
|
||||
void tcache_arena_associate(
|
||||
tsdn_t *tsdn, tcache_slow_t *tcache_slow, arena_t *arena);
|
||||
void tcache_arena_postfork_child(tsdn_t *tsdn, arena_t *arena);
|
||||
cache_bin_array_descriptor_t *tcache_postfork_arena_descriptor(
|
||||
tsdn_t *tsdn, arena_t *arena);
|
||||
void tcache_prefork(tsdn_t *tsdn);
|
||||
void tcache_postfork_parent(tsdn_t *tsdn);
|
||||
void tcache_postfork_child(tsdn_t *tsdn);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue