mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-05-04 02:57:51 +03:00
Move extent stats to the PA module.
While we're at it, make them non-atomic -- they are purely derived statistics (and in fact aren't even in the arena_t or pa_shard_t).
This commit is contained in:
parent
527dd4cdb8
commit
f6bfa3dcca
6 changed files with 43 additions and 59 deletions
48
src/ctl.c
48
src/ctl.c
|
|
@ -804,7 +804,7 @@ ctl_arena_clear(ctl_arena_t *ctl_arena) {
|
|||
memset(ctl_arena->astats->lstats, 0, (SC_NSIZES - SC_NBINS) *
|
||||
sizeof(arena_stats_large_t));
|
||||
memset(ctl_arena->astats->estats, 0, SC_NPSIZES *
|
||||
sizeof(arena_stats_extents_t));
|
||||
sizeof(pa_extent_stats_t));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -993,18 +993,16 @@ MUTEX_PROF_ARENA_MUTEXES
|
|||
|
||||
/* Merge extents stats. */
|
||||
for (i = 0; i < SC_NPSIZES; i++) {
|
||||
ctl_accum_atomic_zu(&sdstats->estats[i].ndirty,
|
||||
&astats->estats[i].ndirty);
|
||||
ctl_accum_atomic_zu(&sdstats->estats[i].nmuzzy,
|
||||
&astats->estats[i].nmuzzy);
|
||||
ctl_accum_atomic_zu(&sdstats->estats[i].nretained,
|
||||
&astats->estats[i].nretained);
|
||||
ctl_accum_atomic_zu(&sdstats->estats[i].dirty_bytes,
|
||||
&astats->estats[i].dirty_bytes);
|
||||
ctl_accum_atomic_zu(&sdstats->estats[i].muzzy_bytes,
|
||||
&astats->estats[i].muzzy_bytes);
|
||||
ctl_accum_atomic_zu(&sdstats->estats[i].retained_bytes,
|
||||
&astats->estats[i].retained_bytes);
|
||||
sdstats->estats[i].ndirty += astats->estats[i].ndirty;
|
||||
sdstats->estats[i].nmuzzy += astats->estats[i].nmuzzy;
|
||||
sdstats->estats[i].nretained
|
||||
+= astats->estats[i].nretained;
|
||||
sdstats->estats[i].dirty_bytes
|
||||
+= astats->estats[i].dirty_bytes;
|
||||
sdstats->estats[i].muzzy_bytes
|
||||
+= astats->estats[i].muzzy_bytes;
|
||||
sdstats->estats[i].retained_bytes
|
||||
+= astats->estats[i].retained_bytes;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3150,29 +3148,17 @@ stats_arenas_i_lextents_j_index(tsdn_t *tsdn, const size_t *mib,
|
|||
}
|
||||
|
||||
CTL_RO_CGEN(config_stats, stats_arenas_i_extents_j_ndirty,
|
||||
atomic_load_zu(
|
||||
&arenas_i(mib[2])->astats->estats[mib[4]].ndirty,
|
||||
ATOMIC_RELAXED), size_t);
|
||||
arenas_i(mib[2])->astats->estats[mib[4]].ndirty, size_t);
|
||||
CTL_RO_CGEN(config_stats, stats_arenas_i_extents_j_nmuzzy,
|
||||
atomic_load_zu(
|
||||
&arenas_i(mib[2])->astats->estats[mib[4]].nmuzzy,
|
||||
ATOMIC_RELAXED), size_t);
|
||||
arenas_i(mib[2])->astats->estats[mib[4]].nmuzzy, size_t);
|
||||
CTL_RO_CGEN(config_stats, stats_arenas_i_extents_j_nretained,
|
||||
atomic_load_zu(
|
||||
&arenas_i(mib[2])->astats->estats[mib[4]].nretained,
|
||||
ATOMIC_RELAXED), size_t);
|
||||
arenas_i(mib[2])->astats->estats[mib[4]].nretained, size_t);
|
||||
CTL_RO_CGEN(config_stats, stats_arenas_i_extents_j_dirty_bytes,
|
||||
atomic_load_zu(
|
||||
&arenas_i(mib[2])->astats->estats[mib[4]].dirty_bytes,
|
||||
ATOMIC_RELAXED), size_t);
|
||||
arenas_i(mib[2])->astats->estats[mib[4]].dirty_bytes, size_t);
|
||||
CTL_RO_CGEN(config_stats, stats_arenas_i_extents_j_muzzy_bytes,
|
||||
atomic_load_zu(
|
||||
&arenas_i(mib[2])->astats->estats[mib[4]].muzzy_bytes,
|
||||
ATOMIC_RELAXED), size_t);
|
||||
arenas_i(mib[2])->astats->estats[mib[4]].muzzy_bytes, size_t);
|
||||
CTL_RO_CGEN(config_stats, stats_arenas_i_extents_j_retained_bytes,
|
||||
atomic_load_zu(
|
||||
&arenas_i(mib[2])->astats->estats[mib[4]].retained_bytes,
|
||||
ATOMIC_RELAXED), size_t);
|
||||
arenas_i(mib[2])->astats->estats[mib[4]].retained_bytes, size_t);
|
||||
|
||||
static const ctl_named_node_t *
|
||||
stats_arenas_i_extents_j_index(tsdn_t *tsdn, const size_t *mib,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue