Extent -> Eset: Move fork handling.
This commit is contained in:
parent
77bbb35a92
commit
e144b21e4b
@ -79,4 +79,8 @@ void eset_remove_locked(tsdn_t *tsdn, eset_t *eset, extent_t *extent);
|
|||||||
extent_t *eset_fit_locked(tsdn_t *tsdn, eset_t *eset, size_t esize,
|
extent_t *eset_fit_locked(tsdn_t *tsdn, eset_t *eset, size_t esize,
|
||||||
size_t alignment);
|
size_t alignment);
|
||||||
|
|
||||||
|
void eset_prefork(tsdn_t *tsdn, eset_t *eset);
|
||||||
|
void eset_postfork_parent(tsdn_t *tsdn, eset_t *eset);
|
||||||
|
void eset_postfork_child(tsdn_t *tsdn, eset_t *eset);
|
||||||
|
|
||||||
#endif /* JEMALLOC_INTERNAL_ESET_H */
|
#endif /* JEMALLOC_INTERNAL_ESET_H */
|
||||||
|
@ -35,9 +35,6 @@ void extents_dalloc(tsdn_t *tsdn, arena_t *arena,
|
|||||||
extent_hooks_t **r_extent_hooks, eset_t *eset, extent_t *extent);
|
extent_hooks_t **r_extent_hooks, eset_t *eset, extent_t *extent);
|
||||||
extent_t *extents_evict(tsdn_t *tsdn, arena_t *arena,
|
extent_t *extents_evict(tsdn_t *tsdn, arena_t *arena,
|
||||||
extent_hooks_t **r_extent_hooks, eset_t *eset, size_t npages_min);
|
extent_hooks_t **r_extent_hooks, eset_t *eset, size_t npages_min);
|
||||||
void extents_prefork(tsdn_t *tsdn, eset_t *eset);
|
|
||||||
void extents_postfork_parent(tsdn_t *tsdn, eset_t *eset);
|
|
||||||
void extents_postfork_child(tsdn_t *tsdn, eset_t *eset);
|
|
||||||
extent_t *extent_alloc_wrapper(tsdn_t *tsdn, arena_t *arena,
|
extent_t *extent_alloc_wrapper(tsdn_t *tsdn, arena_t *arena,
|
||||||
extent_hooks_t **r_extent_hooks, void *new_addr, size_t size, size_t pad,
|
extent_hooks_t **r_extent_hooks, void *new_addr, size_t size, size_t pad,
|
||||||
size_t alignment, bool slab, szind_t szind, bool *zero, bool *commit);
|
size_t alignment, bool slab, szind_t szind, bool *zero, bool *commit);
|
||||||
|
18
src/arena.c
18
src/arena.c
@ -2200,9 +2200,9 @@ arena_prefork2(tsdn_t *tsdn, arena_t *arena) {
|
|||||||
|
|
||||||
void
|
void
|
||||||
arena_prefork3(tsdn_t *tsdn, arena_t *arena) {
|
arena_prefork3(tsdn_t *tsdn, arena_t *arena) {
|
||||||
extents_prefork(tsdn, &arena->extents_dirty);
|
eset_prefork(tsdn, &arena->extents_dirty);
|
||||||
extents_prefork(tsdn, &arena->extents_muzzy);
|
eset_prefork(tsdn, &arena->extents_muzzy);
|
||||||
extents_prefork(tsdn, &arena->extents_retained);
|
eset_prefork(tsdn, &arena->extents_retained);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -2242,9 +2242,9 @@ arena_postfork_parent(tsdn_t *tsdn, arena_t *arena) {
|
|||||||
malloc_mutex_postfork_parent(tsdn, &arena->large_mtx);
|
malloc_mutex_postfork_parent(tsdn, &arena->large_mtx);
|
||||||
base_postfork_parent(tsdn, arena->base);
|
base_postfork_parent(tsdn, arena->base);
|
||||||
malloc_mutex_postfork_parent(tsdn, &arena->extent_avail_mtx);
|
malloc_mutex_postfork_parent(tsdn, &arena->extent_avail_mtx);
|
||||||
extents_postfork_parent(tsdn, &arena->extents_dirty);
|
eset_postfork_parent(tsdn, &arena->extents_dirty);
|
||||||
extents_postfork_parent(tsdn, &arena->extents_muzzy);
|
eset_postfork_parent(tsdn, &arena->extents_muzzy);
|
||||||
extents_postfork_parent(tsdn, &arena->extents_retained);
|
eset_postfork_parent(tsdn, &arena->extents_retained);
|
||||||
malloc_mutex_postfork_parent(tsdn, &arena->extent_grow_mtx);
|
malloc_mutex_postfork_parent(tsdn, &arena->extent_grow_mtx);
|
||||||
malloc_mutex_postfork_parent(tsdn, &arena->decay_dirty.mtx);
|
malloc_mutex_postfork_parent(tsdn, &arena->decay_dirty.mtx);
|
||||||
malloc_mutex_postfork_parent(tsdn, &arena->decay_muzzy.mtx);
|
malloc_mutex_postfork_parent(tsdn, &arena->decay_muzzy.mtx);
|
||||||
@ -2288,9 +2288,9 @@ arena_postfork_child(tsdn_t *tsdn, arena_t *arena) {
|
|||||||
malloc_mutex_postfork_child(tsdn, &arena->large_mtx);
|
malloc_mutex_postfork_child(tsdn, &arena->large_mtx);
|
||||||
base_postfork_child(tsdn, arena->base);
|
base_postfork_child(tsdn, arena->base);
|
||||||
malloc_mutex_postfork_child(tsdn, &arena->extent_avail_mtx);
|
malloc_mutex_postfork_child(tsdn, &arena->extent_avail_mtx);
|
||||||
extents_postfork_child(tsdn, &arena->extents_dirty);
|
eset_postfork_child(tsdn, &arena->extents_dirty);
|
||||||
extents_postfork_child(tsdn, &arena->extents_muzzy);
|
eset_postfork_child(tsdn, &arena->extents_muzzy);
|
||||||
extents_postfork_child(tsdn, &arena->extents_retained);
|
eset_postfork_child(tsdn, &arena->extents_retained);
|
||||||
malloc_mutex_postfork_child(tsdn, &arena->extent_grow_mtx);
|
malloc_mutex_postfork_child(tsdn, &arena->extent_grow_mtx);
|
||||||
malloc_mutex_postfork_child(tsdn, &arena->decay_dirty.mtx);
|
malloc_mutex_postfork_child(tsdn, &arena->decay_dirty.mtx);
|
||||||
malloc_mutex_postfork_child(tsdn, &arena->decay_muzzy.mtx);
|
malloc_mutex_postfork_child(tsdn, &arena->decay_muzzy.mtx);
|
||||||
|
15
src/eset.c
15
src/eset.c
@ -233,3 +233,18 @@ eset_fit_locked(tsdn_t *tsdn, eset_t *eset, size_t esize, size_t alignment) {
|
|||||||
|
|
||||||
return extent;
|
return extent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
eset_prefork(tsdn_t *tsdn, eset_t *eset) {
|
||||||
|
malloc_mutex_prefork(tsdn, &eset->mtx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
eset_postfork_parent(tsdn_t *tsdn, eset_t *eset) {
|
||||||
|
malloc_mutex_postfork_parent(tsdn, &eset->mtx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
eset_postfork_child(tsdn_t *tsdn, eset_t *eset) {
|
||||||
|
malloc_mutex_postfork_child(tsdn, &eset->mtx);
|
||||||
|
}
|
||||||
|
15
src/extent.c
15
src/extent.c
@ -388,21 +388,6 @@ extents_abandon_vm(tsdn_t *tsdn, arena_t *arena, extent_hooks_t **r_extent_hooks
|
|||||||
extent_dalloc(tsdn, arena, extent);
|
extent_dalloc(tsdn, arena, extent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
extents_prefork(tsdn_t *tsdn, eset_t *eset) {
|
|
||||||
malloc_mutex_prefork(tsdn, &eset->mtx);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
extents_postfork_parent(tsdn_t *tsdn, eset_t *eset) {
|
|
||||||
malloc_mutex_postfork_parent(tsdn, &eset->mtx);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
extents_postfork_child(tsdn_t *tsdn, eset_t *eset) {
|
|
||||||
malloc_mutex_postfork_child(tsdn, &eset->mtx);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
extent_deactivate_locked(tsdn_t *tsdn, arena_t *arena, eset_t *eset,
|
extent_deactivate_locked(tsdn_t *tsdn, arena_t *arena, eset_t *eset,
|
||||||
extent_t *extent) {
|
extent_t *extent) {
|
||||||
|
Loading…
Reference in New Issue
Block a user