mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-15 21:27:18 +03:00
Track per size class internal fragmentation
This commit is contained in:
parent
afa489c3c5
commit
40fa4d29d3
15 changed files with 203 additions and 6 deletions
|
|
@ -27,6 +27,9 @@ extern ssize_t opt_prof_recent_alloc_max;
|
|||
/* Whether to use thread name provided by the system or by mallctl. */
|
||||
extern bool opt_prof_sys_thread_name;
|
||||
|
||||
/* Whether to record per size class counts and request size totals. */
|
||||
extern bool opt_prof_stats;
|
||||
|
||||
/* Accessed via prof_active_[gs]et{_unlocked,}(). */
|
||||
extern bool prof_active;
|
||||
|
||||
|
|
|
|||
17
include/jemalloc/internal/prof_stats.h
Normal file
17
include/jemalloc/internal/prof_stats.h
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
#ifndef JEMALLOC_INTERNAL_PROF_STATS_H
|
||||
#define JEMALLOC_INTERNAL_PROF_STATS_H
|
||||
|
||||
typedef struct prof_stats_s prof_stats_t;
|
||||
struct prof_stats_s {
|
||||
uint64_t req_sum;
|
||||
uint64_t count;
|
||||
};
|
||||
|
||||
extern malloc_mutex_t prof_stats_mtx;
|
||||
|
||||
void prof_stats_inc(tsd_t *tsd, szind_t ind, size_t size);
|
||||
void prof_stats_dec(tsd_t *tsd, szind_t ind, size_t size);
|
||||
void prof_stats_get_live(tsd_t *tsd, szind_t ind, prof_stats_t *stats);
|
||||
void prof_stats_get_accum(tsd_t *tsd, szind_t ind, prof_stats_t *stats);
|
||||
|
||||
#endif /* JEMALLOC_INTERNAL_PROF_STATS_H */
|
||||
|
|
@ -73,6 +73,7 @@ enum witness_rank_e {
|
|||
WITNESS_RANK_PROF_GDUMP = WITNESS_RANK_LEAF,
|
||||
WITNESS_RANK_PROF_NEXT_THR_UID = WITNESS_RANK_LEAF,
|
||||
WITNESS_RANK_PROF_RECENT_ALLOC = WITNESS_RANK_LEAF,
|
||||
WITNESS_RANK_PROF_STATS = WITNESS_RANK_LEAF,
|
||||
WITNESS_RANK_PROF_THREAD_ACTIVE_INIT = WITNESS_RANK_LEAF,
|
||||
};
|
||||
typedef enum witness_rank_e witness_rank_t;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue