243f7a0508
This is an alternative to the existing ratio-based unused dirty page purging, and is intended to eventually become the sole purging mechanism. Add mallctls: - opt.purge - opt.decay_time - arena.<i>.decay - arena.<i>.decay_time - arenas.decay_time - stats.arenas.<i>.decay_time This resolves #325.
42 lines
1.6 KiB
C
42 lines
1.6 KiB
C
/******************************************************************************/
|
|
#ifdef JEMALLOC_H_TYPES
|
|
|
|
#define JEMALLOC_CLOCK_GETTIME defined(_POSIX_MONOTONIC_CLOCK) \
|
|
&& _POSIX_MONOTONIC_CLOCK >= 0
|
|
|
|
/* Maximum supported number of seconds (~584 years). */
|
|
#define TIME_SEC_MAX 18446744072
|
|
|
|
#endif /* JEMALLOC_H_TYPES */
|
|
/******************************************************************************/
|
|
#ifdef JEMALLOC_H_STRUCTS
|
|
|
|
#endif /* JEMALLOC_H_STRUCTS */
|
|
/******************************************************************************/
|
|
#ifdef JEMALLOC_H_EXTERNS
|
|
|
|
void time_init(struct timespec *time, time_t sec, long nsec);
|
|
time_t time_sec(const struct timespec *time);
|
|
long time_nsec(const struct timespec *time);
|
|
void time_copy(struct timespec *time, const struct timespec *source);
|
|
int time_compare(const struct timespec *a, const struct timespec *b);
|
|
void time_add(struct timespec *time, const struct timespec *addend);
|
|
void time_subtract(struct timespec *time, const struct timespec *subtrahend);
|
|
void time_imultiply(struct timespec *time, uint64_t multiplier);
|
|
void time_idivide(struct timespec *time, uint64_t divisor);
|
|
uint64_t time_divide(const struct timespec *time,
|
|
const struct timespec *divisor);
|
|
#ifdef JEMALLOC_JET
|
|
typedef bool (time_update_t)(struct timespec *);
|
|
extern time_update_t *time_update;
|
|
#else
|
|
bool time_update(struct timespec *time);
|
|
#endif
|
|
|
|
#endif /* JEMALLOC_H_EXTERNS */
|
|
/******************************************************************************/
|
|
#ifdef JEMALLOC_H_INLINES
|
|
|
|
#endif /* JEMALLOC_H_INLINES */
|
|
/******************************************************************************/
|