Header refactoring: stats - unify and remove from catchall
This commit is contained in:
parent
36abf78aa9
commit
d6b5c7e0f6
@ -2,6 +2,7 @@
|
|||||||
#define JEMALLOC_INTERNAL_ARENA_EXTERNS_H
|
#define JEMALLOC_INTERNAL_ARENA_EXTERNS_H
|
||||||
|
|
||||||
#include "jemalloc/internal/size_classes.h"
|
#include "jemalloc/internal/size_classes.h"
|
||||||
|
#include "jemalloc/internal/stats.h"
|
||||||
|
|
||||||
static const size_t large_pad =
|
static const size_t large_pad =
|
||||||
#ifdef JEMALLOC_CACHE_OBLIVIOUS
|
#ifdef JEMALLOC_CACHE_OBLIVIOUS
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "jemalloc/internal/ql.h"
|
#include "jemalloc/internal/ql.h"
|
||||||
#include "jemalloc/internal/size_classes.h"
|
#include "jemalloc/internal/size_classes.h"
|
||||||
#include "jemalloc/internal/smoothstep.h"
|
#include "jemalloc/internal/smoothstep.h"
|
||||||
|
#include "jemalloc/internal/stats.h"
|
||||||
#include "jemalloc/internal/ticker.h"
|
#include "jemalloc/internal/ticker.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include "jemalloc/internal/jemalloc_internal_types.h"
|
#include "jemalloc/internal/jemalloc_internal_types.h"
|
||||||
#include "jemalloc/internal/ql.h"
|
#include "jemalloc/internal/ql.h"
|
||||||
#include "jemalloc/internal/size_classes.h"
|
#include "jemalloc/internal/size_classes.h"
|
||||||
|
#include "jemalloc/internal/stats.h"
|
||||||
|
|
||||||
struct ctl_node_s {
|
struct ctl_node_s {
|
||||||
bool named;
|
bool named;
|
||||||
|
@ -40,7 +40,6 @@
|
|||||||
/* TYPES */
|
/* TYPES */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
#include "jemalloc/internal/stats_types.h"
|
|
||||||
#include "jemalloc/internal/ctl_types.h"
|
#include "jemalloc/internal/ctl_types.h"
|
||||||
#include "jemalloc/internal/witness_types.h"
|
#include "jemalloc/internal/witness_types.h"
|
||||||
#include "jemalloc/internal/mutex_types.h"
|
#include "jemalloc/internal/mutex_types.h"
|
||||||
@ -61,7 +60,6 @@
|
|||||||
|
|
||||||
#include "jemalloc/internal/witness_structs.h"
|
#include "jemalloc/internal/witness_structs.h"
|
||||||
#include "jemalloc/internal/mutex_structs.h"
|
#include "jemalloc/internal/mutex_structs.h"
|
||||||
#include "jemalloc/internal/stats_structs.h"
|
|
||||||
#include "jemalloc/internal/ctl_structs.h"
|
#include "jemalloc/internal/ctl_structs.h"
|
||||||
#include "jemalloc/internal/bitmap_structs.h"
|
#include "jemalloc/internal/bitmap_structs.h"
|
||||||
#include "jemalloc/internal/arena_structs_a.h"
|
#include "jemalloc/internal/arena_structs_a.h"
|
||||||
@ -79,7 +77,6 @@
|
|||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
#include "jemalloc/internal/jemalloc_internal_externs.h"
|
#include "jemalloc/internal/jemalloc_internal_externs.h"
|
||||||
#include "jemalloc/internal/stats_externs.h"
|
|
||||||
#include "jemalloc/internal/ctl_externs.h"
|
#include "jemalloc/internal/ctl_externs.h"
|
||||||
#include "jemalloc/internal/witness_externs.h"
|
#include "jemalloc/internal/witness_externs.h"
|
||||||
#include "jemalloc/internal/mutex_externs.h"
|
#include "jemalloc/internal/mutex_externs.h"
|
||||||
|
@ -1,9 +1,21 @@
|
|||||||
#ifndef JEMALLOC_INTERNAL_STATS_STRUCTS_H
|
#ifndef JEMALLOC_INTERNAL_STATS_H
|
||||||
#define JEMALLOC_INTERNAL_STATS_STRUCTS_H
|
#define JEMALLOC_INTERNAL_STATS_H
|
||||||
|
|
||||||
#include "jemalloc/internal/atomic.h"
|
#include "jemalloc/internal/atomic.h"
|
||||||
#include "jemalloc/internal/size_classes.h"
|
#include "jemalloc/internal/size_classes.h"
|
||||||
|
|
||||||
|
/* The opt.stats_print storage. */
|
||||||
|
extern bool opt_stats_print;
|
||||||
|
|
||||||
|
/* Implements je_malloc_stats_print. */
|
||||||
|
void stats_print(void (*write_cb)(void *, const char *), void *cbopaque,
|
||||||
|
const char *opts);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* In those architectures that support 64-bit atomics, we use atomic updates for
|
||||||
|
* our 64-bit values. Otherwise, we use a plain uint64_t and synchronize
|
||||||
|
* externally.
|
||||||
|
*/
|
||||||
#ifdef JEMALLOC_ATOMIC_U64
|
#ifdef JEMALLOC_ATOMIC_U64
|
||||||
typedef atomic_u64_t arena_stats_u64_t;
|
typedef atomic_u64_t arena_stats_u64_t;
|
||||||
#else
|
#else
|
||||||
@ -11,15 +23,15 @@ typedef atomic_u64_t arena_stats_u64_t;
|
|||||||
typedef uint64_t arena_stats_u64_t;
|
typedef uint64_t arena_stats_u64_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct tcache_bin_stats_s {
|
typedef struct tcache_bin_stats_s {
|
||||||
/*
|
/*
|
||||||
* Number of allocation requests that corresponded to the size of this
|
* Number of allocation requests that corresponded to the size of this
|
||||||
* bin.
|
* bin.
|
||||||
*/
|
*/
|
||||||
uint64_t nrequests;
|
uint64_t nrequests;
|
||||||
};
|
} tcache_bin_stats_t;
|
||||||
|
|
||||||
struct malloc_bin_stats_s {
|
typedef struct malloc_bin_stats_s {
|
||||||
/*
|
/*
|
||||||
* Total number of allocation/deallocation requests served directly by
|
* Total number of allocation/deallocation requests served directly by
|
||||||
* the bin. Note that tcache may allocate an object, then recycle it
|
* the bin. Note that tcache may allocate an object, then recycle it
|
||||||
@ -61,9 +73,9 @@ struct malloc_bin_stats_s {
|
|||||||
size_t curslabs;
|
size_t curslabs;
|
||||||
|
|
||||||
mutex_prof_data_t mutex_data;
|
mutex_prof_data_t mutex_data;
|
||||||
};
|
} malloc_bin_stats_t;
|
||||||
|
|
||||||
struct malloc_large_stats_s {
|
typedef struct malloc_large_stats_s {
|
||||||
/*
|
/*
|
||||||
* Total number of allocation/deallocation requests served directly by
|
* Total number of allocation/deallocation requests served directly by
|
||||||
* the arena.
|
* the arena.
|
||||||
@ -80,23 +92,23 @@ struct malloc_large_stats_s {
|
|||||||
|
|
||||||
/* Current number of allocations of this size class. */
|
/* Current number of allocations of this size class. */
|
||||||
size_t curlextents; /* Derived. */
|
size_t curlextents; /* Derived. */
|
||||||
};
|
} malloc_large_stats_t;
|
||||||
|
|
||||||
struct decay_stats_s {
|
typedef struct decay_stats_s {
|
||||||
/* Total number of purge sweeps. */
|
/* Total number of purge sweeps. */
|
||||||
arena_stats_u64_t npurge;
|
arena_stats_u64_t npurge;
|
||||||
/* Total number of madvise calls made. */
|
/* Total number of madvise calls made. */
|
||||||
arena_stats_u64_t nmadvise;
|
arena_stats_u64_t nmadvise;
|
||||||
/* Total number of pages purged. */
|
/* Total number of pages purged. */
|
||||||
arena_stats_u64_t purged;
|
arena_stats_u64_t purged;
|
||||||
};
|
} decay_stats_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Arena stats. Note that fields marked "derived" are not directly maintained
|
* Arena stats. Note that fields marked "derived" are not directly maintained
|
||||||
* within the arena code; rather their values are derived during stats merge
|
* within the arena code; rather their values are derived during stats merge
|
||||||
* requests.
|
* requests.
|
||||||
*/
|
*/
|
||||||
struct arena_stats_s {
|
typedef struct arena_stats_s {
|
||||||
#ifndef JEMALLOC_ATOMIC_U64
|
#ifndef JEMALLOC_ATOMIC_U64
|
||||||
malloc_mutex_t mtx;
|
malloc_mutex_t mtx;
|
||||||
#endif
|
#endif
|
||||||
@ -131,6 +143,6 @@ struct arena_stats_s {
|
|||||||
|
|
||||||
/* One element for each large size class. */
|
/* One element for each large size class. */
|
||||||
malloc_large_stats_t lstats[NSIZES - NBINS];
|
malloc_large_stats_t lstats[NSIZES - NBINS];
|
||||||
};
|
} arena_stats_t;
|
||||||
|
|
||||||
#endif /* JEMALLOC_INTERNAL_STATS_STRUCTS_H */
|
#endif /* JEMALLOC_INTERNAL_STATS_H */
|
@ -1,9 +0,0 @@
|
|||||||
#ifndef JEMALLOC_INTERNAL_STATS_EXTERNS_H
|
|
||||||
#define JEMALLOC_INTERNAL_STATS_EXTERNS_H
|
|
||||||
|
|
||||||
extern bool opt_stats_print;
|
|
||||||
|
|
||||||
void stats_print(void (*write_cb)(void *, const char *), void *cbopaque,
|
|
||||||
const char *opts);
|
|
||||||
|
|
||||||
#endif /* JEMALLOC_INTERNAL_STATS_EXTERNS_H */
|
|
@ -1,10 +0,0 @@
|
|||||||
#ifndef JEMALLOC_INTERNAL_STATS_TYPES_H
|
|
||||||
#define JEMALLOC_INTERNAL_STATS_TYPES_H
|
|
||||||
|
|
||||||
typedef struct tcache_bin_stats_s tcache_bin_stats_t;
|
|
||||||
typedef struct malloc_bin_stats_s malloc_bin_stats_t;
|
|
||||||
typedef struct malloc_large_stats_s malloc_large_stats_t;
|
|
||||||
typedef struct decay_stats_s decay_stats_t;
|
|
||||||
typedef struct arena_stats_s arena_stats_t;
|
|
||||||
|
|
||||||
#endif /* JEMALLOC_INTERNAL_STATS_TYPES_H */
|
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include "jemalloc/internal/ql.h"
|
#include "jemalloc/internal/ql.h"
|
||||||
#include "jemalloc/internal/size_classes.h"
|
#include "jemalloc/internal/size_classes.h"
|
||||||
|
#include "jemalloc/internal/stats.h"
|
||||||
#include "jemalloc/internal/ticker.h"
|
#include "jemalloc/internal/ticker.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user