Blame jemalloc/include/jemalloc/internal/arena_inlines_a.h

Packit 345191
#ifndef JEMALLOC_INTERNAL_ARENA_INLINES_A_H
Packit 345191
#define JEMALLOC_INTERNAL_ARENA_INLINES_A_H
Packit 345191
Packit 345191
static inline unsigned
Packit 345191
arena_ind_get(const arena_t *arena) {
Packit 345191
	return base_ind_get(arena->base);
Packit 345191
}
Packit 345191
Packit 345191
static inline void
Packit 345191
arena_internal_add(arena_t *arena, size_t size) {
Packit 345191
	atomic_fetch_add_zu(&arena->stats.internal, size, ATOMIC_RELAXED);
Packit 345191
}
Packit 345191
Packit 345191
static inline void
Packit 345191
arena_internal_sub(arena_t *arena, size_t size) {
Packit 345191
	atomic_fetch_sub_zu(&arena->stats.internal, size, ATOMIC_RELAXED);
Packit 345191
}
Packit 345191
Packit 345191
static inline size_t
Packit 345191
arena_internal_get(arena_t *arena) {
Packit 345191
	return atomic_load_zu(&arena->stats.internal, ATOMIC_RELAXED);
Packit 345191
}
Packit 345191
Packit 345191
static inline bool
Packit 345191
arena_prof_accum(tsdn_t *tsdn, arena_t *arena, uint64_t accumbytes) {
Packit 345191
	cassert(config_prof);
Packit 345191
Packit 345191
	if (likely(prof_interval == 0 || !prof_active_get_unlocked())) {
Packit 345191
		return false;
Packit 345191
	}
Packit 345191
Packit 345191
	return prof_accum_add(tsdn, &arena->prof_accum, accumbytes);
Packit 345191
}
Packit 345191
Packit 345191
static inline void
Packit 345191
percpu_arena_update(tsd_t *tsd, unsigned cpu) {
Packit 345191
	assert(have_percpu_arena);
Packit 345191
	arena_t *oldarena = tsd_arena_get(tsd);
Packit 345191
	assert(oldarena != NULL);
Packit 345191
	unsigned oldind = arena_ind_get(oldarena);
Packit 345191
Packit 345191
	if (oldind != cpu) {
Packit 345191
		unsigned newind = cpu;
Packit 345191
		arena_t *newarena = arena_get(tsd_tsdn(tsd), newind, true);
Packit 345191
		assert(newarena != NULL);
Packit 345191
Packit 345191
		/* Set new arena/tcache associations. */
Packit 345191
		arena_migrate(tsd, oldind, newind);
Packit 345191
		tcache_t *tcache = tcache_get(tsd);
Packit 345191
		if (tcache != NULL) {
Packit 345191
			tcache_arena_reassociate(tsd_tsdn(tsd), tcache,
Packit 345191
			    newarena);
Packit 345191
		}
Packit 345191
	}
Packit 345191
}
Packit 345191
Packit 345191
#endif /* JEMALLOC_INTERNAL_ARENA_INLINES_A_H */