mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-22 04:03:11 +00:00
Make single-TU internal helpers static; remove dead hpa_expand/hpa_shrink/pac_reset
This commit is contained in:
@@ -240,7 +240,6 @@ void *arena_malloc_hard(tsdn_t *tsdn, arena_t *arena, size_t size, szind_t ind,
|
|||||||
void arena_prof_promote(
|
void arena_prof_promote(
|
||||||
tsdn_t *tsdn, void *ptr, size_t usize, size_t bumped_usize);
|
tsdn_t *tsdn, void *ptr, size_t usize, size_t bumped_usize);
|
||||||
size_t arena_prof_demote(tsdn_t *tsdn, edata_t *edata, const void *ptr);
|
size_t arena_prof_demote(tsdn_t *tsdn, edata_t *edata, const void *ptr);
|
||||||
void arena_slab_dalloc(tsdn_t *tsdn, arena_t *arena, edata_t *slab);
|
|
||||||
|
|
||||||
void arena_dalloc_small(tsdn_t *tsdn, void *ptr);
|
void arena_dalloc_small(tsdn_t *tsdn, void *ptr);
|
||||||
void arena_ptr_array_flush(tsd_t *tsd, szind_t binind,
|
void arena_ptr_array_flush(tsd_t *tsd, szind_t binind,
|
||||||
@@ -274,8 +273,6 @@ void arena_cache_bin_array_register(tsdn_t *tsdn, arena_t *arena,
|
|||||||
cache_bin_array_descriptor_t *desc);
|
cache_bin_array_descriptor_t *desc);
|
||||||
void arena_cache_bin_array_unregister(tsdn_t *tsdn, arena_t *arena,
|
void arena_cache_bin_array_unregister(tsdn_t *tsdn, arena_t *arena,
|
||||||
cache_bin_array_descriptor_t *desc);
|
cache_bin_array_descriptor_t *desc);
|
||||||
void arena_cache_bin_array_postfork_child(arena_t *arena,
|
|
||||||
cache_bin_array_descriptor_t *desc_or_null);
|
|
||||||
void arena_cache_bins_stats_merge(tsdn_t *tsdn, arena_t *arena);
|
void arena_cache_bins_stats_merge(tsdn_t *tsdn, arena_t *arena);
|
||||||
void arena_prefork0(tsdn_t *tsdn, arena_t *arena);
|
void arena_prefork0(tsdn_t *tsdn, arena_t *arena);
|
||||||
void arena_prefork1(tsdn_t *tsdn, arena_t *arena);
|
void arena_prefork1(tsdn_t *tsdn, arena_t *arena);
|
||||||
|
|||||||
@@ -204,11 +204,6 @@ bool hpa_shard_init(tsdn_t *tsdn, hpa_shard_t *shard, hpa_central_t *central,
|
|||||||
edata_t *hpa_alloc(tsdn_t *tsdn, hpa_shard_t *shard, size_t size,
|
edata_t *hpa_alloc(tsdn_t *tsdn, hpa_shard_t *shard, size_t size,
|
||||||
size_t alignment, bool zero, bool guarded, bool frequent_reuse,
|
size_t alignment, bool zero, bool guarded, bool frequent_reuse,
|
||||||
bool *deferred_work_generated);
|
bool *deferred_work_generated);
|
||||||
bool hpa_expand(tsdn_t *tsdn, hpa_shard_t *shard, edata_t *edata,
|
|
||||||
size_t old_size, size_t new_size, bool zero,
|
|
||||||
bool *deferred_work_generated);
|
|
||||||
bool hpa_shrink(tsdn_t *tsdn, hpa_shard_t *shard, edata_t *edata,
|
|
||||||
size_t old_size, size_t new_size, bool *deferred_work_generated);
|
|
||||||
void hpa_dalloc(tsdn_t *tsdn, hpa_shard_t *shard, edata_t *edata,
|
void hpa_dalloc(tsdn_t *tsdn, hpa_shard_t *shard, edata_t *edata,
|
||||||
bool *deferred_work_generated);
|
bool *deferred_work_generated);
|
||||||
uint64_t hpa_time_until_deferred_work(tsdn_t *tsdn, hpa_shard_t *shard);
|
uint64_t hpa_time_until_deferred_work(tsdn_t *tsdn, hpa_shard_t *shard);
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ void nstime_isubtract(nstime_t *time, uint64_t subtrahend);
|
|||||||
void nstime_imultiply(nstime_t *time, uint64_t multiplier);
|
void nstime_imultiply(nstime_t *time, uint64_t multiplier);
|
||||||
void nstime_idivide(nstime_t *time, uint64_t divisor);
|
void nstime_idivide(nstime_t *time, uint64_t divisor);
|
||||||
uint64_t nstime_divide(const nstime_t *time, const nstime_t *divisor);
|
uint64_t nstime_divide(const nstime_t *time, const nstime_t *divisor);
|
||||||
uint64_t nstime_ns_between(const nstime_t *earlier, const nstime_t *later);
|
|
||||||
uint64_t nstime_ms_between(const nstime_t *earlier, const nstime_t *later);
|
uint64_t nstime_ms_between(const nstime_t *earlier, const nstime_t *later);
|
||||||
uint64_t nstime_ns_since(const nstime_t *past);
|
uint64_t nstime_ns_since(const nstime_t *past);
|
||||||
uint64_t nstime_ms_since(const nstime_t *past);
|
uint64_t nstime_ms_since(const nstime_t *past);
|
||||||
|
|||||||
@@ -220,8 +220,6 @@ void pa_shard_postfork_parent(tsdn_t *tsdn, pa_shard_t *shard);
|
|||||||
void pa_shard_postfork_child(tsdn_t *tsdn, pa_shard_t *shard);
|
void pa_shard_postfork_child(tsdn_t *tsdn, pa_shard_t *shard);
|
||||||
|
|
||||||
size_t pa_shard_nactive(const pa_shard_t *shard);
|
size_t pa_shard_nactive(const pa_shard_t *shard);
|
||||||
size_t pa_shard_ndirty(const pa_shard_t *shard);
|
|
||||||
size_t pa_shard_nmuzzy(const pa_shard_t *shard);
|
|
||||||
|
|
||||||
void pa_shard_basic_stats_merge(
|
void pa_shard_basic_stats_merge(
|
||||||
const pa_shard_t *shard, size_t *nactive, size_t *ndirty, size_t *nmuzzy);
|
const pa_shard_t *shard, size_t *nactive, size_t *ndirty, size_t *nmuzzy);
|
||||||
|
|||||||
@@ -234,7 +234,6 @@ bool pac_decay_ms_set(tsdn_t *tsdn, pac_t *pac, extent_state_t state,
|
|||||||
ssize_t decay_ms, pac_purge_eagerness_t eagerness);
|
ssize_t decay_ms, pac_purge_eagerness_t eagerness);
|
||||||
ssize_t pac_decay_ms_get(pac_t *pac, extent_state_t state);
|
ssize_t pac_decay_ms_get(pac_t *pac, extent_state_t state);
|
||||||
|
|
||||||
void pac_reset(tsdn_t *tsdn, pac_t *pac);
|
|
||||||
void pac_destroy(tsdn_t *tsdn, pac_t *pac);
|
void pac_destroy(tsdn_t *tsdn, pac_t *pac);
|
||||||
|
|
||||||
#endif /* JEMALLOC_INTERNAL_PAC_H */
|
#endif /* JEMALLOC_INTERNAL_PAC_H */
|
||||||
|
|||||||
@@ -294,7 +294,7 @@ arena_cache_bin_array_unregister(tsdn_t *tsdn, arena_t *arena,
|
|||||||
* from scratch (descriptors held by other threads at fork time are gone)
|
* from scratch (descriptors held by other threads at fork time are gone)
|
||||||
* without locking.
|
* without locking.
|
||||||
*/
|
*/
|
||||||
void
|
static void
|
||||||
arena_cache_bin_array_postfork_child(arena_t *arena,
|
arena_cache_bin_array_postfork_child(arena_t *arena,
|
||||||
cache_bin_array_descriptor_t *desc_or_null) {
|
cache_bin_array_descriptor_t *desc_or_null) {
|
||||||
cassert(config_stats);
|
cassert(config_stats);
|
||||||
@@ -652,7 +652,7 @@ arena_do_deferred_work(tsdn_t *tsdn, arena_t *arena) {
|
|||||||
pa_shard_do_deferred_work(tsdn, &arena->pa_shard);
|
pa_shard_do_deferred_work(tsdn, &arena->pa_shard);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
arena_slab_dalloc(tsdn_t *tsdn, arena_t *arena, edata_t *slab) {
|
arena_slab_dalloc(tsdn_t *tsdn, arena_t *arena, edata_t *slab) {
|
||||||
bool deferred_work_generated = false;
|
bool deferred_work_generated = false;
|
||||||
pa_dalloc(tsdn, &arena->pa_shard, slab, &deferred_work_generated);
|
pa_dalloc(tsdn, &arena->pa_shard, slab, &deferred_work_generated);
|
||||||
|
|||||||
14
src/hpa.c
14
src/hpa.c
@@ -978,20 +978,6 @@ hpa_alloc(tsdn_t *tsdn, hpa_shard_t *shard, size_t size, size_t alignment,
|
|||||||
return edata;
|
return edata;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
|
||||||
hpa_expand(tsdn_t *tsdn, hpa_shard_t *shard, edata_t *edata, size_t old_size,
|
|
||||||
size_t new_size, bool zero, bool *deferred_work_generated) {
|
|
||||||
/* Expand not yet supported. */
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
hpa_shrink(tsdn_t *tsdn, hpa_shard_t *shard, edata_t *edata, size_t old_size,
|
|
||||||
size_t new_size, bool *deferred_work_generated) {
|
|
||||||
/* Shrink not yet supported. */
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
hpa_dalloc_prepare_unlocked(tsdn_t *tsdn, hpa_shard_t *shard, edata_t *edata) {
|
hpa_dalloc_prepare_unlocked(tsdn_t *tsdn, hpa_shard_t *shard, edata_t *edata) {
|
||||||
malloc_mutex_assert_not_owner(tsdn, &shard->mtx);
|
malloc_mutex_assert_not_owner(tsdn, &shard->mtx);
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ nstime_divide(const nstime_t *time, const nstime_t *divisor) {
|
|||||||
return time->ns / divisor->ns;
|
return time->ns / divisor->ns;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t
|
static uint64_t
|
||||||
nstime_ns_between(const nstime_t *earlier, const nstime_t *later) {
|
nstime_ns_between(const nstime_t *earlier, const nstime_t *later) {
|
||||||
nstime_assert_initialized(earlier);
|
nstime_assert_initialized(earlier);
|
||||||
nstime_assert_initialized(later);
|
nstime_assert_initialized(later);
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ pa_shard_nactive(const pa_shard_t *shard) {
|
|||||||
return atomic_load_zu(&shard->nactive, ATOMIC_RELAXED);
|
return atomic_load_zu(&shard->nactive, ATOMIC_RELAXED);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t
|
static size_t
|
||||||
pa_shard_ndirty(const pa_shard_t *shard) {
|
pa_shard_ndirty(const pa_shard_t *shard) {
|
||||||
size_t ndirty = ecache_npages_get(&shard->pac.ecache_dirty);
|
size_t ndirty = ecache_npages_get(&shard->pac.ecache_dirty);
|
||||||
if (shard->ever_used_hpa) {
|
if (shard->ever_used_hpa) {
|
||||||
@@ -90,7 +90,7 @@ pa_shard_ndirty(const pa_shard_t *shard) {
|
|||||||
return ndirty;
|
return ndirty;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t
|
static size_t
|
||||||
pa_shard_nmuzzy(const pa_shard_t *shard) {
|
pa_shard_nmuzzy(const pa_shard_t *shard) {
|
||||||
return ecache_npages_get(&shard->pac.ecache_muzzy);
|
return ecache_npages_get(&shard->pac.ecache_muzzy);
|
||||||
}
|
}
|
||||||
|
|||||||
10
src/pac.c
10
src/pac.c
@@ -747,16 +747,6 @@ pac_decay_ms_get(pac_t *pac, extent_state_t state) {
|
|||||||
return decay_ms_read(decay);
|
return decay_ms_read(decay);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
pac_reset(tsdn_t *tsdn, pac_t *pac) {
|
|
||||||
/*
|
|
||||||
* No-op for now; purging is still done at the arena-level. It should
|
|
||||||
* get moved in here, though.
|
|
||||||
*/
|
|
||||||
(void)tsdn;
|
|
||||||
(void)pac;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
pac_destroy(tsdn_t *tsdn, pac_t *pac) {
|
pac_destroy(tsdn_t *tsdn, pac_t *pac) {
|
||||||
assert(ecache_npages_get(&pac->ecache_dirty) == 0);
|
assert(ecache_npages_get(&pac->ecache_dirty) == 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user